分组编序号

2019-03-25  本文已影响0人  阿福德

1. mysql中与oracle一样的rownum

SELECT (@i:= @i+1) AS sequence,t.*
FROM (
     SELECT t.* FROM table_name t
) t, 
(SELECT @i:=0) AS i

2. 按照分组进行编号, 并将序号设置到指定字段中

UPDATE t_order d
SET d.`sequence_no` = 
(
    SELECT 
        CASE WHEN @A = d.`order_no`
        THEN @C := @C + 1
    ELSE
         (@C := @C +1  AND @A := d.`order_no`)
    END
)
WHERE order_no not in ('123','234')
ORDER BY d.`order_no`;
上一篇 下一篇

猜你喜欢

热点阅读