mysql中根据一个字段相同记录写递增序号,如序号结果,如何实现?

本文介绍了一种在MySQL中为具有相同字段的记录分配递增序号的方法。通过使用变量和子查询,可以实现对特定字段相同的记录进行排序并标记序号。此方法适用于需要对数据库中的记录进行排序并标记的场景。
 

mysql中根据一个字段相同记录写递增序号,如序号结果,如何实现?

mysql中实现方式如下:

select 
    merchantId,
    NameCn,
    send_date,
    deliver_name,
    deliver_address,
    contact,
    bill_status,
    bill_code,
    rank
from
    (select 
        heyf_tmp.merchantId,
        heyf_tmp.NameCn,
            heyf_tmp.send_date,
            heyf_tmp.deliver_name,
            heyf_tmp.deliver_address,
            heyf_tmp.contact,
            heyf_tmp.bill_status,
            heyf_tmp.bill_code,
            @rownum:=@rownum + 1,
            if(@pdept = heyf_tmp.contact, @rank:=@rank + 1, @rank:=1) as rank,
            @pdept:=heyf_tmp.contact
    from
        (select 
    t1.merchantId,
    t2.NameCn,
    t1.send_date,
    t1.deliver_name,
    t1.deliver_address,
    concat(t1.deliver_phone,',',t1.deliver_mobile) as 'contact',
    t1.bill_status,
    t1.bill_code
from
    bill_master t1
left join 
    sys_merchant_master t2 on t1.merchantId = t2.merchantId
where
    bill_status != 10
order by deliver_phone,deliver_mobile) heyf_tmp, (select @rownum:=0, @pdept:=null, @rank:=0) a) result;

实现结果截图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值