MySQL实现row_number(一)

news/2024/12/23 21:18:20

首发:MySQL实现row_number

在本教程中,我们将在MySQL中实现一个非常实用的row_number功能。

row_number是一个返回数据排序编号的排名方法,从1开始。我们经常需要用到row_number去生成某些报表,不幸的是,MySQL并不像MSSQL,Oracle一样支持这个方法。在MySQL中如果想实现这个功能需要临时变量。

为了在MySQL中实现row_number,需要在查询中实用临时变量,下图中从employees表中查询出5条数据,并且从1开始,为每一行添加了编号(row number)。

SET @row_number = 0;
 
SELECT 
    (@row_number:=@row_number + 1) AS num, firstName, lastName
FROM
    employees
LIMIT 5;

mysql-row_number-session-variables.jpg

在上面的查询中:

首先,我们定义了一个变量叫做row_number,初始值为0,row_number是以@为前缀的一个临时变量。

然后,在查询中,我们为这个变量每次+1,LIMIT分句是为了限制返回的结果数,此处设为5.

另一个方法是使用临时变量作为派生表,联合主表。看下边的查询语句:

SELECT 
    (@row_number:=@row_number + 1) AS num, firstName, lastName
FROM
    employees,(SELECT @row_number:=0) AS t
LIMIT 5;

需要注意,派生表必须使用别名,以使查询语句在语法上没有问题。

由于时间关系(回家过年),暂时到这里,文中部分内容可能翻译的有点不太顺,可以直接看下原文,原文中还有一部分讲分组查询中实用row_number。

这个之后再写。

原文地址:MySQL row_number, This Is How You Emulate It


http://www.niftyadmin.cn/n/3745869.html

相关文章

从零开发一款相机APP 第七篇: Camera2相机 预览功能实现

本课程内容由 小驰笔记 出品,欢迎关注,获取更多交流信息~ 欢迎访问个人博客:www.xiaochibiji.com显示需要借助surface,一般采用surfaceview或者textureview; 相关重要流程: 1、自定义TextureView privat…

从零开发一款相机APP 第六篇: Camera2相机 打开功能实现

本课程内容由 小驰笔记 出品,欢迎关注,获取更多交流信息~ 欢迎访问个人博客:www.xiaochibiji.com 流程图: 1、获取当前设备支持摄像头颗数 CameraManager manager (CameraManager) activity.getSystemService(Context.CAMERA_S…

从零开发一款相机 第五篇:Camera api1实现预览、拍照、录像功能

本课程内容由 小驰笔记 出品,欢迎关注,获取更多交流信息~ 欢迎访问个人博客:www.xiaochibiji.com这节课,我们主要讲解如果使用camera api1接口,实现预览、拍照以及录像功能。 目前市面上很大部分的APP,如果…

文字两行展示,超出部分显示为省略号

text-overflow: -o-ellipsis-lastline;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;line-clamp: 2;-webkit-box-orient: vertical;

Ubuntu中使用python3.8

1 安装Python3.8 # 更新软件包 sudo apt update ​ # 安装python3.8 sudo apt install python3.82 安装虚拟环境 # 安装venv包 sudo apt install python3-venv3 创建虚拟环境 # 虚拟环境中的python环境默认是3.8 python3.8 -m venv my_env_python3.84 激活虚拟环境 # 激活…

工厂方法(Factory Pattern)

工厂方法模式定义:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。(注:“决定”不是指模式允许子类本身在运行时做决定,而是指在编写创建者类时,不需要知道…

从零开发一款相机APP 第四篇: Camera 常用api和最新框架介绍

本课程内容由 小驰笔记 出品,欢迎关注,获取更多交流信息~ 欢迎访问个人博客:www.xiaochibiji.com这节课,我们主要来学习了解android camera相关api,以及大体看下android camera的最新框架。 一、android camera api介…

idea导入新maven项目后,修改idea的maven配置,不要用idea默认的

idea导入新maven项目后,修改maven的setting路径配置,不要用默认的 file>setting>搜索Maven 三个分别是maven安装路径,配置文件路径,本地Jar仓库路径