SQLで枝番を持つデータ中から最大の枝番を持つデータを取得する

2020年3月13日

最大の枝番を持つデータを取得する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.枝番

SQL

Posted by fanfanta