以最多(日期)分組我想列出一張桌子上每列火車的最新目的地(最大起飛時間),例如: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 回答

白衣非少年
TA貢獻1155條經驗 獲得超0個贊
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

慕俠2389804
TA貢獻1719條經驗 獲得超6個贊
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
提交
取消