a = id
b = date
c = NewestDate
對於每一個,我有B C最近(最大)日期爲每個ID
我怎樣才能得到每一組ID的(我的「一」列)的最新日期?他們並不都具有相同的結束日期。所以我確實需要所有人的最大值。
的數據是在myTable的, 到目前爲止,我嘗試:
select *
into #myTable
from myTable
select
t.a
,t.b
,t.c
,(select max(b) from myTable) as c
from myTable t
left join #myTable t1
on t.a = t1.a and t.b = t1.b
order by a, b
與上面的代碼的問題是,在「C」是把他們所有的最大日期,這是不是我其實想要。
編輯:現在的問題已解決與德米特里波利亞科夫給出的答案(謝謝)。使用:
SELECT a,
b,
max(b) OVER (PARTITION BY a) AS c
FROM myTable
ORDER BY a,b
窗口函數是您的朋友。 – lad2025
你是什麼意思?對不起,沒有經歷過這 –
https://msdn.microsoft.com/en-us/library/ms189461.aspx – user996142