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

如何为orders表生成客户订单的序号列?

生成客户订单序列编号

可以使用SQL的窗口函数ROW_NUMBER()来实现这个需求,该函数会在指定分组内按排序规则生成递增序号。

实现代码

SELECT
    id,
    customer_id,
    created_at,
    ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY created_at) AS `order number`
FROM orders;

代码说明

  • PARTITION BY customer_id:按客户ID对数据分组,每个客户的订单单独计算序号
  • ORDER BY created_at:在每个客户分组内,按订单创建时间排序,保证序号跟随订单生成顺序递增
  • ROW_NUMBER():为每个分组内的行生成从1开始的连续序号

原订单表数据

idcustomer_idcreated_at
112022-09-01
222022-09-02
312022-09-03
412022-09-04
522022-09-04

执行结果

idcustomer_idcreated_atorder number
112022-09-011
222022-09-021
312022-09-032
412022-09-043
522022-09-052

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:00:58