我有一个包含列的SQL表:
ID, DayNumber, Mfm, value
432080971, 1, 15, 57
432080971, 1, 15, 59
432080978, 3, 15, 54
432080978, 4, 45, 54
不幸的是,有一些重复的条目。我想要的是一个select语句,它返回没有重复ID,Daynumber和Mfm的表,如果有一个双重条目来选择具有更高值的行。
因此,作为示例,上述条目将返回为:
ID, DayNumber, Mfm, value
432080971, 1, 15, 59
432080978, 3, 15, 54
432080978, 4, 45, 54
我正在使用sql server management studio运行sql server 2012
答案 0 :(得分:3)
select top (1)
with ties ID, DayNumber, Mfm, value
from
table
order by row_number() over (partiton by
ID, DayNumber, Mfm
order by value desc)
答案 1 :(得分:0)
select
ID, DayNumber, Mfm, max(value)
from table
group by ID, DayNumber, Mfm
答案 2 :(得分:0)
您必须使用Group By
子句并使用聚合函数MAX
来获取组的最高值。像这样:
Select ID, DayNumber, Mfm, Max(value) From
From your_table
Group By ID, DayNumber, Mfm