Gle*_*enn 2 t-sql sql-server greatest-n-per-group
救命!!!我很难过,并尝试了几个选项无济于事...我需要为每个Pub_id返回一行,并且返回的行应该是具有更高Count的行,并且当有多个行具有最高时伯爵,我需要一个价格较高的人.
我用这个数据填充了一个表格......
pub_id, price_id, count
7, 59431, 5
22, 39964, 4
39, 112831, 3
39, 120715, 2
47, 95359, 2
74, 142825, 5
74, 106688, 5
74, 37514, 1
Run Code Online (Sandbox Code Playgroud)
这就是我需要回归的......
pub_id, price_id, count
7, 59431, 5
22, 39964, 4
39, 112831, 3
47, 95359, 2
74, 142825, 5
Run Code Online (Sandbox Code Playgroud)
;WITH T
AS (SELECT *,
ROW_NUMBER() OVER (PARTITION BY pub_id
ORDER BY [count] DESC, price_id DESC) AS rn
FROM your_table)
SELECT pub_id,
[count],
price_id
FROM T
WHERE rn=1
Run Code Online (Sandbox Code Playgroud)