a 2006-11-14 13:55:17.320 net
b 2006-11-14 13:55:54.980 c++
a 2006-11-14 13:57:04.963 c
b 2006-11-14 14:00:29.843 java
c 2006-11-14 14:00:51.763 sql
我想select a,b,c這3种編號最新的一條數據
...全文
1599打赏收藏
一條簡單的sql
id time type a 2006-11-14 13:55:17.320 net b 2006-11-14 13:55:54.980 c++ a 2006-11-14 13:57:04.963 c b 2006-11-14 14:00:29.843 java c 2006-11-14 14:00:51.763 sql 我想select a,b,c這3种編號最新的一條數據
select * from @ta a where time=any(select max(time) from @ta group by id)
id time type
---- ------------------------------------------------------ ----------
a 2006-11-14 13:57:04.963 c
b 2006-11-14 14:00:29.843 java
c 2006-11-14 14:00:51.763 sql
棒场!
declare @ta table ([id] varchar(2), [time] datetime, type varchar(10))
insert @ta
select 'a', '2006-11-14 13:55:17.320' , 'net' union all
select 'b' , '2006-11-14 13:55:54.980' , 'c++' union all
select 'a' , '2006-11-14 13:57:04.963' , 'c' union all
select 'b' , '2006-11-14 14:00:29.843' , 'java' union all
select 'c' , '2006-11-14 14:00:51.763', 'sql'
select * from @ta a where time=(select max(time) from @ta where id=a.id) order by time asc
(所影响的行数为 5 行)
id time type
---- ------------------------------------------------------ ----------
a 2006-11-14 13:57:04.963 c
b 2006-11-14 14:00:29.843 java
c 2006-11-14 14:00:51.763 sql