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

如何生成附加行号的字符串列并输出下游可用的指定格式数据

解决方案

使用递归CTE生成目标序列行

假设你的表名为your_table,以下SQL通过递归公共表表达式(CTE)实现需求,完全符合你要求的输出格式,且无需使用RAISE语句:

实现代码

WITH RECURSIVE seq_gen AS (
    SELECT field1, cnt, 1 AS num
    FROM your_table
    WHERE cnt >= 1
    UNION ALL
    SELECT field1, cnt, num + 1
    FROM seq_gen
    WHERE num + 1 <= cnt
)
SELECT CONCAT(field1, '|', num) AS output_line
FROM seq_gen
ORDER BY field1, num;

工作原理

  • 初始查询:从原表中取出每条有效记录(cnt >=1),初始化起始数字为1。
  • 递归迭代:每次将数字递增1,直到数字达到对应记录的cnt值上限。
  • 格式拼接:用CONCAT把字段和数字拼接成field1|数字的格式,按字段和数字排序输出。

示例输出

针对你提供的示例数据(Car→4,Truck→3),执行后会输出:

Car|1
Car|2
Car|3
Car|4
Truck|1
Truck|2
Truck|3

导出方式

执行完SQL后,直接通过数据库客户端的导出功能(如导出为TXT、CSV等)即可得到可供下游使用的结构化数据文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:52:17