単なるSQLメモ
このようなSampleデータがあったとする。
Group別に、時間(Min)が最大となる行を取り出したい。
クエリー実行後。
SELECT T1.*
FROM Sample T1
INNER JOIN(
SELECT Group, MAX(Min) AS MAX_Min
FROM Sample
GROUP BY Group
) T2 ON T1.Group = T2.Group
AND T1.Min = T2.MAX_Min
この場合、時間(Min)に重複がないことを仮定している。
またこういった、時間が分かれている(Min、Sec)Sampleデータの場合。
クエリー実行後。
SELECT T1.*
FROM Sample T1
INNER JOIN(
SELECT Group, MAX( Min||Sec ) AS MAX_MinSec
FROM Sample
GROUP BY Group
) T2 ON T1.Group = T2.Group
AND T1.Min || T1.Sec = T2.MAX_MinSec
以上、単なるSQLメモ。