以最多(日期)分组我想列出一张桌子上每列火车的最新目的地(最大起飞时间),例如:Train Dest Time1 HK 10:001 SH 12:001 SZ 14:002 HK 13:002 SH 09:002 SZ 07:00预期的结果应该是:Train Dest Time1 SZ 14:002 HK 13:00我试过用SELECT Train, Dest, MAX(Time)FROM TrainTableGROUP BY Train我得到了一个“or-00979而不是按表达式分组”的错误,说我必须通过语句将‘Dest’包括在我的组中。但这肯定不是我想要的.。在一行SQL中可以这样做吗?
3 回答
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
SELECT train, dest, time FROM ( SELECT train, dest, time, RANK() OVER (PARTITION BY train ORDER BY time DESC) dest_rank FROM traintable ) where dest_rank = 1
慕沐林林
TA贡献2016条经验 获得超9个赞
SELECT t1.*FROM TrainTable t1 LEFT JOIN TrainTable t2ON (t1.Train = t2.Train AND t1.Time < t2.Time)WHERE t2.Time IS NULL;
添加回答
举报
0/150
提交
取消