可用於oracle / mysql
有時在操作 SQL 時,會遇到資料分群 (Group By) 後,取得每個群組最大 或最新 的值。
主要的概念都須用到子查詢,並在子查詢的操作過程中動一些小手段。
先利用 Group By 取得 Max 值後,在 Join 原表
SELECT t.Trainno, t.Dest, r.MaxTime FROM
先利用 Group By 取得 Max 值後,在 Join 原表
SELECT t.Trainno, t.Dest, r.MaxTime FROM
(
SELECT Trainno, MAX(Time) as MaxTime
FROM OrdTable
GROUP BY Trainno ) r
INNER JOIN OrdTable t
ON t.Trainno = r.Trainno AND t.Time = r.MaxTime
沒有留言:
張貼留言