【MySQL自定义变量】 查询结果新增行号列 使用自定义变量@rownum

前言

在表格显示等众多场景中,通常需要显示数据的序号,可强调数据的顺序性。

添加简单数字行号列

-- 1.建表test (工作中id 99.99%不用自增)
CREATE TABLE `test` (
	`id` int PRIMARY KEY auto_increment,
	`text` VARCHAR(30) DEFAULT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

-- 2.添加4条数据
INSERT test(text) VALUES ('数据1'),('数据2'),('数据3'),('数据4')

-- 3.添加行号
SELECT @rownum:=@rownum+1 as row_num, t.* 
from (
  -- 需要添加行的表
  select * from test
) t, (select @rownum:=0) r;
row_numidtext
11数据1
22数据2
33数据3
44数据4

添加行号列 并前后拼接其他描述文字

使用concat字符串拼接函数 CONCAT(str1,str2,...)

SELECT CONCAT('no.',@rownum:=@rownum+1)  as row_num, t.* 
from (
  -- 需要添加行的表
  select * from test
) t, (select @rownum:=0) r;
row_numidtext
no.11数据1
no.22数据2
no.33数据3
no.44数据4

了解MySQL自定义变量

增强SQL的作用,为数据表没有的数据提供辅助作用

作用域:自定义变量只对当前会话(连接)有效

1. 定义变量

--方法一
SET @自定义变量名=;
SET @自定义变量名:=;

--方法二 定义并且查询变量
SELECT @自定义变量名:=;

2. 更新变量值

--方式一:
SET @自定义变量名=;
SET @自定义变量名:=;
SELECT @自定义变量名:=;

--方式二:
SELECT 字段名 INTO  @变量名 FROM

3. 查看\使用 变量值

SELECT @自定义变量名;

4.例子

--定义变量
SET @my_var:='a';

--更新变量
SELECT `text` INTO @my_var FROM test WHERE id=1;

--查询变量
SELECT @my_var;

> @my_var
  数据1
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值