在查询数据库的时候,我们有时候需要对查询出来的数据加上序列,1,2,3,……n
例如:我们根据表的某个字段排序后,要对这些数据加上序列,这个时候序号常常不是我们建表时设置好的自增的主键id,怎么办呢????
以用户表为例

SELECT (@rowNO := @rowNo+1) num,u.*
FROM (SELECT * FROM `userinfo` ORDER BY id DESC)u, (SELECT @rowNO :=0) rr;

UPDATE `userinfo` SET `username` =
CONCAT('aaa',
(SELECT CAST((@rowNO := @rowNo+1) AS CHAR) num FROM (SELECT @rowNO :=0) rr)

UPDATE `userinfo` SET `email` =
CONCAT('ddd',
(SELECT CAST((@rowNO := @rowNo+1) AS CHAR) num FROM (SELECT @rowNO :=0) rr),'@qq.com')

UPDATE `userinfo` SET `phone` =
CONCAT('139',LPAD(
(SELECT CAST((@rowNO := @rowNo+1) AS CHAR) num FROM (SELECT @rowNO :=0) rr),8,0))
