我有一张如下表
var1 var2 var3 ra
a a a 1
b a a 2
c a a 3
d b b 4
e c c 1
根据columns var2 and var 3
识别重复记录。最后一列是重复项的行号。我需要在重复记录和其他非重复记录中仅选择最大行编号记录。
预期输出
var2 var3 ra
a a 3
b b 4
c c 1
请帮帮我。感谢
答案 0 :(得分:3)
假设您不想var1
,请尝试:
select var2, var3, max(ra)
from myTable
group by var2, var3
答案 1 :(得分:1)
如果您 需要引入其他列(现有答案会提供您指定的确切输出),则可以使用ROW_NUMBER()
:
;WITH OrderedRows as (
SELECT *,ROW_NUMBER() OVER (PARTITION BY var2,var3 ORDER BY ra desc) as rn
FROM <Table>
)
SELECT
* --TODO - Explicit column list
FROM
OrderedRows
WHERE
rn = 1
答案 2 :(得分:0)
select var2, var3, max(ra)
from table1
group by var2, var3
答案 3 :(得分:0)
select var2, var3, max(ra) as ra
from tableX
group by var2, var3