mysql number函数_mysql有row_number函数吗?
mysql有row_number函数吗?
mysql没有row_number函数。
oracle等数据库中可以方便的使用row_number函数,实现分组取组内特定数据的功能。但是MySQL中并没有引入类似的函数。为了实现这一功能,需要一些特别的处理。
row_number函数
函数是对分组之后的数据进行组内编号,效果如下:
由于新增了一列num,结合组内的排序,可以很方便的选取组内特定的数据。
MySQL中用到的知识case 语句
用户变量
实现步骤实现给每一行添加一个序号SET @row_number = 0;
SELECT
(@row_number:=@row_number + 1) AS num, s.id, s.name, s.age
FROM
student s;
这里利用用户变量实现数据自增分组编号SET @row_number=0, @customer_no=0;
SELECT
@row_number:=CASE
WHEN @customer_no = s.age THEN @row_number + 1
ELSE 1
END AS num,
@customer_no:=s.age AS stu_age,
s.id,
s.name
FROM
student s
ORDER BY
s.age;
customer_no是一个临时变量,每次查询都被赋值为age。而case中判断条件在customer_no赋值之前,其实就是判断当前行age值是否与上一行age值相同。当不相同时重新编号(输出1),从而实现了分组顺序编号的功能。效果与oracle中的row_number函数相同。
用户变量赋值的一种技巧
可以使用另一种方式替代用户变量的赋值SELECT
@row_number:=CASE
WHEN @customer_no = s.age THEN @row_number + 1
ELSE 1
END AS num,
@customer_no:=s.age AS stu_age,
s.id,
s.name
FROM
student s, (SELECT @row_number:=0, @customer_no:=0) AS t
ORDER BY
s.age;
这里将赋值放入select语句内部,效果一样。
更多相关知识,请访问 PHP中文网!!
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
mysql number函数_mysql有row_number函数吗?相关推荐
- mysql算法函数_mysql中的函数总结
mysql中常用日期时间函数 MySQL服务器中的三种时区设置: ①系统时区---保存在系统变量system_time_zone ②服务器时区---保存在全局系统变量global.time_zone ...
- mysql 存储过程求和_MySQL - 存储过程和函数
MySQL - 存储过程和函数 创建和调用存储过程 -- 创建stu_group()存储过程,封装 分组查询总成绩,并按照总成绩升序排序的功能 -- 注意: DELIMITER 必须写在一行的最前面, ...
- concat mysql sql注入_Mysql中用concat函数执行SQL注入查询的方法
Mysql数据库使用concat函数执行SQL注入查询 SQL注入语句有时候会使用替换查询技术,就是让原有的查询语句查不到结果出错,而让自己构造的查询语句执行,并把执行结果代替原有查询语句查询结果显示 ...
- mysql 处理文件函数_mysql数据处理与函数
大纲 列的别名 concat()函数 算术运算 字符处理函数 日期时间函数 数值处理函数 聚集函数 1.列的别名 就像人的外号一样,列有时候不太好理解或者列名太长,可以给它起别名 如何使用呢? 使用 ...
- mysql 调用方差函数_MYSQL基本常用函数
MYSQL基本常用函数 一.字符的操作函数 (ps:mysql中的索引都是从1开始的.) 1.instr(param1,param2) 返回子串第一次出现的索引,若找不到则返回0. param1填写操 ...
- mysql 存储过程 队列_mysql使用存储过程函数实现批量插入
写这边文章的目的,是想结合mysql 存储过程+函数完成一个批量删除的功能吧...正好也好加深下对procedure和function的熟练操作吧... 废话不多说,我就直接上表结构啦哈,如下: cr ...
- mysql中日期函数_mysql中日期函数ADDDATE()函数用法大全
摘要: 下文讲述mysql数据库中日期函数ADDDATE方法简介说明,如下所示: ADDDATE函数简介说明 ADDDATE函数是DATE_ADD函数的同义词,具有同样的功能, 其作用为:为指定的日期 ...
- mysql的时间比对函数_MySQL 笔记 —— 时间函数、时间比较
整理下MySQL 日期时间函数及用法(5.6.*版本) 一.日期(date)相关 1.CURDATE().CURRENT_DATE().CURRENT_DATE: 同义,返回当前日期,如:2017-1 ...
- mysql substring用法_Mysql字符串截取函数SUBSTRING的用法说明
函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my ...
最新文章
- 【生活】 戴尔XPS 插上耳机之后,说话没声音,麦克风失效 window10 系统
- STM32单片机工作日记
- return 返回值的问题
- 用英语回答问题 - 一个SAP开发人员为什么要练习双截棍
- vo listVO paggerHelper mapper使用原则
- React基础篇(五)css样式的使用
- slqite3库查询数据处理方式_绝活!十一个优质React Hook库, 收藏备用
- Python+sklearn决策树算法使用入门
- 06-03 Jenkins 节点管理(Linux)
- 让ajax更加友好,实时显示后台处理进度。
- [线性代数] 1.3 n阶行列式
- 盖世兔I9100刷机心得
- Integer与Int
- Material 的 Tiling 和 Offset
- GCC编译器中三个重要的函数
- Jrebel+springboot2.0 启动失败问题
- 解决CUDA error: no kernel image is available for execution on the device
- python入门爬取表情包
- Android——加速传感器(ACCELEROMETER)的应用
- 苏宁从面试到入职历险记
热门文章
- C代码编译成在android上的可执行程序
- C4996 “scanf“ 问题——初学者使用VS的拦路虎
- web前端后端的连接:Servlet简单演示
- 七 渐入佳境(7.4-7.10)
- Dapr 知多少 | 分布式应用运行时
- 国外数据采集的10个经典方法
- 微信小程序map的使用
- r java_R语言rJava包安装载入及JAVA环境配置
- HTC头显显示错误:头戴式显示器插入错误显卡
- 未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“xxx.Resources.resources”正确嵌入或链接到程序集...