news 2026/1/11 23:20:11

MySQL如何给查出的数据 加上序号

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL如何给查出的数据 加上序号

MySQL给查出的数据加序号的方法

SELECT sid,sname,gender,age,(@i:=@i+1) AS '序号' FROM student,(SELECT @i:=0) AS itable;

或者

SET @i=0; SELECT sid,sname,gender,age,@i:=@i+1 AS '序号' FROM student;

查询结果如图所示:

解释说明:
1、(@i:=@i+1)也可以写成 @i:=@i+1 ,加括号是为了视觉上更清晰。
它代表的意思是:变量i 加1 赋值给变量i,在定义好一个变量后每次查询都会给这个变量自增,每次执行查询语句获取结果后就不需要这个变量自增了
2、
(SELECT @i:=0) AS itable
,定义用户变量i,设置初始值为0,然后将它作为派生表使用,AS定义了表的别名。
3、SET @i=0。定义用户变量i,赋初值为0,

相关知识点:
1、MySQL定义用户变量的方式:select @变量名,上面的SQL语句中,变量的名字是 i
2、用户变量赋值:一种是直接用"=“号,另一种是用”:="号
= 和 := 的区别:
使用set命令对用户变量进行赋值时,两种方式都可以使用,
即:SET @变量名=xxx 或 SET @变量名:=xxx

使用select语句对用户变量进行赋值时,只能使用":=“方式,因为在select语句中,”="号被看作是比较操作符。即:SELECT @变量名:=xxx


用Oracle的写法是:

SELECT "sid","sname","gender","age", ROW_NUMBER() over(order by "sid") AS "序号" FROM "user";
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/10 0:04:05

MySQL事件功能简介

MySQL 的事件调度器(Event Scheduler)提供了一种便捷的方法来定时执行 SQL 语句,从而实现数据维护、报告生成等自动化操作。本文将详细介绍 MySQL 的事件功能,并说明如何使用 Navicat 管理这些事件。 1. 什么是 MySQL 事件调度器&…

作者头像 李华
网站建设 2026/1/10 22:04:01

mysql之逻辑函数

MySQL 中的逻辑函数允许你根据条件对数据进行判断和选择。以下是一些常用逻辑函数的详细介绍和示例: IF(expr1, expr2, expr3) 如果 expr1 是真(非零和非 NULL),IF() 函数返回 expr2,否则返回 expr3。 SELECT IF(1 0, …

作者头像 李华
网站建设 2026/1/11 0:20:38

光特通信40G光模块:适配各种需求的高速传输方案

在数据中心密集连接、企业园区网络升级、工业极端环境部署这些场景里,40G光模块是保证数据高速传输的核心部件。光特通信作为全球光通信解决方案服务商,有20年的技术积累,打造了全系列40G光模块产品,涵盖普通环境、长距离、工业恶…

作者头像 李华
网站建设 2026/1/10 15:02:53

都说网络安全前景好,到底好在哪?3 个数据给你答案

都说网络安全前景好,到底好在哪?3 个数据给你答案 数字化时代里,网络安全早已不是“可选项”而是“必选项”。从政府机关到互联网公司,从金融能源到日常消费,各行各业的安全防护需求持续爆发,让这个行业成…

作者头像 李华
网站建设 2026/1/11 2:35:53

MySQL中存储过程(详解,一篇就够了!!!)

一、MySQL中什么事存储过程? 存储过程是事先经过编译并存储在数据库中的一段SOL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程思…

作者头像 李华