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`;
网友评论