-- 使用变量为查询结果添加序号
SET @row_number = 0;
SELECT
(@row_number:=@row_number + 1) AS row_num,
id,
name,
age
FROM
users
ORDER BY
id;
-- 解释说明:
-- 1. SET @row_number = 0; 初始化一个用户变量 @row_number 为 0。
-- 2. 在 SELECT 查询中,使用 (@row_number:=@row_number + 1) 来为每一行生成一个递增的序号。
-- 3. AS row_num 将生成的序号命名为 row_num 列。
-- 4. FROM users 指定查询的表为 users。
-- 5. ORDER BY id 按照 id 列进行排序,确保序号按照 id 的顺序生成。
如果你需要在更复杂的查询中使用序号,或者使用 MySQL 8.0 及以上版本,可以使用窗口函数 ROW_NUMBER():
SELECT
ROW_NUMBER() OVER (ORDER BY id) AS row_num,
id,
name,
age
FROM
users;
-- 解释说明:
-- 1. ROW_NUMBER() 是一个窗口函数,它会为每一行生成一个唯一的序号。
-- 2. OVER (ORDER BY id) 指定了按照 id 列进行排序,确保序号按照 id 的顺序生成。
-- 3. 这种方法不需要初始化变量,代码更加简洁,适用于 MySQL 8.0 及以上版本。
上一篇:mysql当前时间减一个月
下一篇:mysql删除触发器
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站