group by显示最新的一条数据

用一个简单的例子讲解。

场景:显示每列火车最晚到达时间的记录。

处理前:

Train    Dest      Time
1        HK        10:00
1        SH        12:00
1        SZ        14:00
2        HK        13:00
2        SH        09:00
2        SZ        07:00

处理后:

Train    Dest      Time
1        SZ        14:00
2        HK        13:00

处理语句:

SELECT t.Train, t.Dest, r.MaxTime
FROM (
      SELECT Train, MAX(Time) as MaxTime
      FROM TrainTable
      GROUP BY Train
) r
INNER JOIN TrainTable t
ON t.Train = r.Train AND t.Time = r.MaxTime

(完)

posted on 2016-04-26 18:19  lima  阅读(2531)  评论(0编辑  收藏  举报

导航