SQL Server 最新日付のデータを取得する

SQL

いつも忘れてしまうので、まとめておきます。

テーブル情報
以下のような「ItemMastar」テーブルから各Itemの最新日付のCountを取得する。

DateItemCount
2023-03-08A5
2023-03-10B3
2023-03-15A10
2023-04-01A6
2023-04-05B1
最新日付のデータを取得する
各Itemの最新日付を取得したサブクエリを内部結合(INNER JOIN)することで絞り込みます。

SELECT
     im.Date
   , im.Item
  , im.Count
FROM ItemMastar AS im
-- 各Itemの最新日付取得
INNER JOIN (
   SELECT
     Item
    ,MAX(Date) AS Date
   FROM
    ItemMastar 
   GROUP BY Item
) AS im2
 ON im2.Item = im.Item AND im2.Date = im.Date
実行結果
取得できました。

DateItemCount
2023-04-01A6
2023-04-05B1
タイトルとURLをコピーしました