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

SQL - 行数に基づいて返される行数を制限する

    ROW_NUMBER() を使用します このための関数:

    SELECT *
    FROM (select *,ROW_NUMBER() OVER (PARTITION BY group_id ORDER BY item_id) as RowRank 
          from items_in_groups
          )sub
    WHERE RowRank <=2
    

    デモ:SQL フィドル

    ROW_NUMBER() 関数は各行に番号を割り当てます。 PARTITION BY オプションですが、そのグループの各値の番号付けをやり直すために使用されます。つまり、 PARTITION BY group_id の場合 次に、一意の group_id ごとに 値を指定すると、番号付けは 1 から始まります。 ORDER BY もちろん、カウント方法を定義するために使用され、 ROW_NUMBER() で必要です 関数。



    1. PostgreSQLがpg_catalogテーブルからパーミッションを取り消す

    2. MySQLは日付文字列をUnixタイムスタンプに変換します

    3. Postgresqlの拡張機能の作成に失敗する

    4. タイムゾーンオフセットを使用して日付を取得する