SQL の各グループの上位 N 行
SQL では、ウィンドウ関数を使用して各グループの上位行を選択できます。ウィンドウ関数を使用すると、指定した順序とパーティションによって定義されるウィンドウと呼ばれる行のセットに対して計算を実行できます。この場合、各グループの上位 2 行を選択します。これは、次の手順を使用して実現できます:
これらを実装するクエリの例を次に示します。ステップ:
SELECT * FROM ( SELECT *, RANK() OVER (PARTITION BY NAME ORDER BY SCORE DESC) AS row_rank FROM test ) AS ranked WHERE row_rank <= 2
このクエリは、以下に示すように、目的の出力を生成します:
NAME SCORE ----------------- willy 2 willy 3 zoe 5 zoe 6
以上がSQL で各グループの上位 N 行を選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。