2019年6月20日 星期四

SQL 取最大值或是最新的值


可用於oracle / mysql


有時在操作 SQL 時,會遇到資料分群 (Group By) 後,取得每個群組最大 或最新 的值。

主要的概念都須用到子查詢,並在子查詢的操作過程中動一些小手段。

先利用 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

筆記, 很少用, 很容易忘記


沒有留言:

張貼留言