MySql数据库 sql查询增加序号的伪列

在查询数据库的时候,我们有时候需要对查询出来的数据加上序列,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))


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容