簡體   English   中英

通過使用max(date)比較相似的列

[英]Comparing similar columns by using max(date)

我有一個像下面的桌子

Column 1    Column 2    Column 3    Column 4
aaa         bbbb        ccc         1/1/16
aaa         bbbb        ddd         2/1/16
abc         def         ghi         1/1/16
abc         def         ihg         2/1/16

我希望輸出是

Column 1    Column 2    Column 3    Column 4
aaa         bbbb        ddd         2/1/16
abc         def         ihg         2/1/16

那就是我想要的結果為(column1,2,3)和max(column4)。 我正在使用SQL Server! 我該如何實現?

您對所需內容的描述與數據不匹配。 您似乎希望對col1和col2對的每一行在col4中具有最大日期。

您可以使用row_number()獲得此信息:

select t.*
from (select t.*,
             row_number() over (partition by col1, col2 order by col4 desc) as seqnum
      from t
     ) t
where seqnum = 1;

編輯:

如果問題的解釋是您要使行具有第4列的最大總體值:

select t.*
from (select t.*,
             rank() over (order by col4 desc) as seqnum
      from t
     ) t
where seqnum = 1;

尚不清楚您想要什么,但這會產生預期的輸出:

select * from mytable
where column4 = (select max(column4) from mytable)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM