SQLで枝番を持つデータ中から最大の枝番を持つデータを取得する
最大の枝番を持つデータを取得するSQL
伝票データなどで変更履歴を枝番付加することで残しているデータの枝番最大(=最新)のみ取得したい場合があると思います。
このような場合、サブクエリで伝票毎に枝番最大行を取得し、その結果をもとのテーブルと内部結合することで取得可能です。
伝票番号 | 枝番 |
---|---|
100 | 001 |
100 | 002 |
100 | 003 |
200 | 001 |
200 | 002 |
SELECT * FROM 伝票 T1
INNER JOIN (
SELECT 伝票番号, MAX(枝番)
FROM 伝票 GROUP BY 伝票番号
) T2
ON T1.伝票番号 = T2.伝票番号 AND T1.枝番 = T2.枝番