SQL 中按键组的顺序行编号
在 SQL 中,ROW_NUMBER() 函数为结果集中的行分配序号。要按键组分配顺序编号,请使用 PARTITION BY 子句按所需键对数据进行分组。
以下是给定表和所需输出的示例:
SELECT CODE, ROW_NUMBER() OVER (PARTITION BY CODE ORDER BY NAME) - 1 AS C_NO, NAME FROM MyTable;
输出:
CODE | C_NO | NAME -----|------|------ A | 0 | Apple A | 1 | Angel A | 2 | Arizona B | 0 | Bravo C | 1 | Charlie C | 0 | Cat D | 0 | Dog D | 1 | Data D | 2 | Down D | 3 | Doppler
此查询分配连续行号 (C_NO)对于每个键组 (CODE),从 0 开始,按每个组中 NAME 的升序排列。
支持的数据库:
带有 PARTITION BY 的 ROW_NUMBER() 函数以下数据库支持:
以上是如何在 SQL 中按键组分配连续行号?的详细内容。更多信息请关注PHP中文网其他相关文章!