sql >> データベース >  >> RDS >> Sqlserver

groupbyコマンドを使用して取得した結果から各グループから最初のレコードを取得する方法

    declare @T table (ID int, GroupID int, Qty int)
    insert into @T values
    (1, 1, 100),
    (2, 1, 200),
    (3, 1, 300),
    (4, 2, 98),
    (5, 2, 198),
    (6, 3, 175),
    (7, 3, 275),
    (8, 3, 375),
    (9, 4, 215)
    
    ;with cte as
    (
      select
        ID,
        GroupID,
        Qty,
        rank() over(partition by GroupID order by ID) as rn
      from @T
    )  
    select ID, GroupID, Qty
    from cte
    where rn = 1
    


    1. SQLServerにDBFファイルをインポートする方法

    2. SQLインジェクションを防ぐ

    3. カンマ区切りの文字列で値を検索するMySQLクエリ

    4. ルートに対しても機能しないoutfileに*を選択します