You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为SQL查询结果添加自增连续序号列

可以实现,以下是不同数据库场景下的具体实现方案:
  • 支持窗口函数的主流数据库(MySQL 8.0+、PostgreSQL、SQL Server、SQLite 3.25.0+等)
    直接使用ROW_NUMBER()窗口函数即可,示例代码如下:
SELECT 
  ROW_NUMBER() OVER (ORDER BY name) AS serial_num,
  name 
FROM animal;

如果不需要指定排序规则,把OVER子句里的ORDER BY name替换为ORDER BY (SELECT 1)也可以正常生成序号。
如果要直接得到你给出的逗号拼接格式的输出,可以拼接两个字段:

SELECT CONCAT(ROW_NUMBER() OVER (ORDER BY name), ',', name) AS output_line
FROM animal;
  • 不支持窗口函数的旧版本MySQL
    可以通过自定义用户变量实现:
SET @num := 0;
SELECT (@num := @num + 1) AS serial_num, name FROM animal;
  • Oracle 数据库
    可以直接使用内置的ROWNUM伪列实现:
SELECT ROWNUM AS serial_num, name FROM animal ORDER BY name;

内容的提问来源于stack exchange,提问作者TomuRain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 08:36:02