写法一:
select * from [table1] a , ( select key1,key2,key3,key4,key5,max(发生时间) as 发生时间 from table1 group by key1,key2,key3,key4,key5) b where a.发生时间=b.发生时间 and a.key1=b.key1 and a.key2=b.key2 and a.key3=b.key4 and a.key5=b.key5
写法二:
select * from [table1] a where key1+key2+key3+key4+key5+convert(char(20),发生时间) in select key1+key2+key3+key4+key5+convert(chart(20),max(发生时间)) from table1 group by key1,key2,key3,key4,key5