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