Mysql给普通分页查询结果加序号实操
作者:李长渊哦 时间:2024-01-16 21:06:07
一、效果展示
1、普通查询加序号
SELECT t1.NAME,( @i := @i + 1 ) AS '序号'
FROM t1,( SELECT @i := 0 ) AS itable;
这种情况遇上分页时会出现每次翻页都从1开始重新计算,这种情况可以使用分页偏移量作为开始计算数,解决方案如下:
2、分页查询加序号
SELECT ( @i := @i + 1 ) AS '序号' ,t1.NAME
FROM t1,( SELECT @i := 2 ) AS itable
limit 2,5
SELECT ( @i := @i + 1 ) AS '序号' ,t1.NAME
FROM t1,( SELECT @i := #{startSize} ) AS itable
limit #{startSize},#{pageSize};
二、表结构以及数据
CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`jgid` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (1, '二二', 2);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (2, '李四', 2);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (4, '七七', 3);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (5, '小猕猴', 1);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (6, '小米粥', 1);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (7, '小哈吧', 1);
三、解释说明
1、解释
(@i:=@i+1) 也可以写成 @i:=@i+1 ,加括号是为了视觉上更清晰。它代表的意思是:变量i 加1 赋值给变量i,在定义好一个变量后每次查询都会给这个变量自增,每次执行查询语句获取结果后就不需要这个变量自增了
(SELECT @i:=0) AS itable,定义用户变量i,设置初始值为0,然后将它作为派生表使用,AS定义了表的别名。
SET @i=0 。定义用户变量i,赋初值为0,
2、相关知识点
MySQL定义用户变量的方式:select @变量名 ,上面的SQL语句中,变量的名字是 i
用户变量赋值:一种是直接用"=“号,另一种是用”:="号。
3、= 和 := 的区别:
使用set命令对用户变量进行赋值时,两种方式都可以使用
即:SET @变量名=xxx 或 SET @变量名:=xxx
使用select语句对用户变量进行赋值时,只能使用":=“方式,因为在select语句中,”="号被看作是比较操作符。即:SELECT @变量名:=xxx
①:用户变量
②:派生表
③:AS设置别名
来源:https://blog.csdn.net/weixin_46146718/article/details/126894909
标签:Mysql,分页,查询,加序号
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
浅谈mysql中多表不关联查询的实现方法
2024-01-14 21:29:21
python 调试器pdb的简单使用
2023-08-03 19:13:20
![](https://img.aspxhome.com/file/2023/3/61753_0s.png)
关于pyqt5控件自适应窗口超详细知识点汇总
2021-03-26 14:37:57
![](https://img.aspxhome.com/file/2023/0/104940_0s.png)
MySQL中进行跨库查询的方法示例
2024-01-26 10:27:39
![](https://img.aspxhome.com/file/2023/7/70477_0s.jpg)
python 中的 BeautifulSoup 网页使用方法解析
2022-06-25 19:09:26
python数学建模是加深Numpy和Pandas学习
2021-04-28 17:21:12
![](https://img.aspxhome.com/file/2023/9/77019_0s.png)
Python动态导入模块和反射机制详解
2023-07-16 14:02:10
![](https://img.aspxhome.com/file/2023/6/90286_0s.png)
用Python给文本创立向量空间模型的教程
2021-07-13 17:06:41
dataframe设置两个条件取值的实例
2021-09-15 05:56:50
java 数据库连接与增删改查操作实例详解
2024-01-25 10:14:28
对用户研究实践的思考
2010-10-19 12:21:00
![](https://img.aspxhome.com/file/UploadPic/201010/19/01-90s.jpg)
ASP获取ACCESS数据库表名及结构的代码
2011-04-15 10:50:00
如何使用Go语言实现远程执行命令
2024-04-25 15:16:39
解决django migrate报错ORA-02000: missing ALWAYS keyword
2023-04-15 14:19:54
![](https://img.aspxhome.com/file/2023/4/70674_0s.jpg)
JavaScript实例--实现计算器
2024-04-23 09:26:17
![](https://img.aspxhome.com/file/2023/0/135530_0s.png)
layerUI下的绑定事件实例代码
2024-04-16 09:38:08
PHP结构型模式之外观模式
2023-05-25 11:43:14
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2023-11-19 09:18:32
Python入门基础之import机制
2023-12-25 11:39:12
![](https://img.aspxhome.com/file/2023/4/115534_0s.png)
js实现带有介绍的Select列表菜单实例
2024-04-19 10:26:22
![](https://img.aspxhome.com/file/2023/3/135823_0s.jpg)