【发布时间】:2017-09-26 17:13:04
【问题描述】:
例如:
create table #t
(
[ID] int,
[Date] date,
[Name] varchar(5)
)
insert into #t
values
(1, getdate(),'1-1'),
(2, dateadd(D,-10,getdate()),'2-1'),
(2, dateadd(D,-5,getdate()),'2-2'),
(1, dateadd(M,-1,getdate()),'1-2')
select * from #t
我需要为具有最大 [Data] 的每个 [ID] 选择 [Name]。
类似这样的:
select [1], [2]
from ( select ID, [Date] from #t ) y
pivot (
max(y.[Date])
for y.ID in ([1],[2])
) pvt;
输出:
1 2
2017-04-28 2017-04-23
但我希望看到 [姓名] 而不是 [日期]
我想看什么
1 2
1-1 2-2
请帮忙。谢谢。
【问题讨论】:
-
样本数据加 1,只有一件事,我要添加的是 DBMS(如 sqlserver/oracle..)和版本
标签: sql sql-server greatest-n-per-group