SQL 中每个组的前 N 行
在 SQL 中,可以使用窗口函数来完成为每个组选择前 N 行。窗口函数允许对一组行(称为窗口)执行计算,这些行由指定的排序和分区定义。在本例中,我们希望为每个组选择前两行,这可以通过以下步骤来实现:
以下是实现这些的示例查询步骤:
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中文网其他相关文章!