日期:2014-05-18  浏览次数:20517 次

求简单高效的SQL语句!!!
SQL code


有表tb(sCode varchar(20),sDt datetime,Station varchar(10)) 给出以下数据

22313234133121108500    2011-12-26 14:11:39    互感器
22313234133121108500    2011-12-26 14:11:08    互感器
31222222244121108548    2011-12-26 14:11:46    互感器
31222222244121108548    2011-12-26 14:11:27    互感器
31222222244121108548    2011-12-26 12:37:01    互感器
31222222244121108548    2011-12-26 10:02:46    互感器
22313234133121108500    2011-12-26 13:53:32    接地刀
22313234133121108500    2011-12-26 13:51:55    接地刀
22313234133121108500    2011-12-26 13:51:39    接地刀
31222222244121108548    2011-12-26 13:48:21    接地刀
31222222244121108548    2011-12-26 13:48:14    接地刀
31222222244121108548    2011-12-26 13:41:59    接地刀

需要得出以下数据:

22313234133121108500    2011-12-26 14:11:39    互感器
31222222244121108548    2011-12-26 14:11:46    互感器
22313234133121108500    2011-12-26 13:53:32    接地刀
31222222244121108548    2011-12-26 13:48:21    接地刀




就是按照Station字段分组,在相同的sCode记录行里取时间最大的记录。
不知道我讲清楚没有,如果不明白,请告诉我。

------解决方案--------------------
SQL code
select * from tb a
 where not exists(select 1 from tb 
      where sCode=a.sCode and Station=a.Station and sDt>a.sDt)