mysql8常用sql语句

查询结果带行号

-- 表名为 mi_user, 假设包含列 id ,address

SELECT ROW_NUMBER() OVER (ORDER BY id) AS row_num, t.id, t.address FROM mi_user t ;

SELECT ROW_NUMBER() OVER ( ) AS row_num, t.id, t.address FROM mi_user t ;

更新某列数据为行号

-- 表名:mi_user , 排序的列id,保存行数的列row_num

SET @row_nu := 0;

UPDATE mi_user

JOIN ( SELECT *, @row_nu := @row_nu + 1 AS rn FROM mi_user ORDER BY id ) AS ranked

USING (id)

SET mi_user.row_num = ranked.rn ;

相关推荐
DemonAvenger5 分钟前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化
程序新视界32 分钟前
如何在MySQL中创建聚集索引?
mysql
AAA修煤气灶刘哥12 小时前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
程序新视界12 小时前
学习MySQL绕不开的两个基础概念:聚集索引与非聚集索引
mysql
RestCloud15 小时前
跨境数据传输:ETL如何处理时区与日期格式差异
mysql·api
RestCloud16 小时前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
得物技术19 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
xiaok19 小时前
mysql中怎么创建一个可控权限数据库账号密码给到开发者
mysql
可涵不会debug1 天前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库