mysql实现row_number() over

本文介绍了一种使用 SQL 在查询结果中为每个不同客户按订单时间生成唯一序号的方法。通过存储过程变量实现了对相同客户订单的连续编号,并确保跨客户时重新开始计数。该技巧适用于需要对特定条件下的记录进行排序并赋予唯一标识的场景。

SELECT
CASE
WHEN @cust_code !=cust_code THEN @rownum:=1
ELSE @rownum:=@rownum+1
END AS rownum,
@cust_code:=cust_code AS cust_code,
channel_name,
add_date,
open_date,
order_id,
pay_amount,
order_time
FROM
(SELECT @cust_code:=”) c,
(SELECT @rownum:=0) r,
(SELECT * FROM rpt_qb_mem_conv_d ORDER BY cust_code,order_time ASC) t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值