首页 > 数据库 >MySQL中row_number()的实现,查询记录排序行数

MySQL中row_number()的实现,查询记录排序行数

时间:2023-09-21 14:46:58浏览次数:50  
标签:code sentry number MySQL SELECT row

MySQL中row_number()的实现,查询记录排序行数

时间  2019-12-06 标签 mysql row number 实现 查询 记录 排序 行数 栏目 MySQL 繁體版 原文   https://my.oschina.net/u/3087202/blog/1842169  

 在MySQL 8.0之前是有没row_number()这个窗口函数的,若是想实现此功能就须要经过临时变量来计算,如下是一个简单的应用。sql

SELECT
	t.rn
FROM
(
	SELECT
		sentry_code,
		( SELECT @rownum := @rownum + 1 FROM (SELECT @rownum := 0) r ) AS rn
	FROM
		t_integral
	WHERE
		sentry_code LIKE '99%'
	ORDER BY
		all_amount DESC
) t
WHERE
	t.sentry_code = '99S10002';

其中最关键的一句就是获取到行数,要确保变量赋初始值0,否则会致使行数每次都是1的状况。函数

SELECT @rownum := @rownum + 1 FROM (SELECT @rownum := 0) r

在MySQL 8.0版本就能够像Oracle和SQLServer同样直接使用row_number()这个窗口函数直接计算。code

SELECT
	t.rn
FROM
	(
		SELECT
			sentry_code,
			row_number () over (ORDER BY all_amount DESC) rn
		FROM
			t_integral
		WHERE
			sentry_code LIKE '99%'
	) t
WHERE
	t.sentry_code = '99S10002';
   

标签:code,sentry,number,MySQL,SELECT,row
From: https://www.cnblogs.com/sexintercourse/p/17719876.html

相关文章

  • MySQL高级13-MySQL管理工具
    一、系统数据库MySQL数据库安装完成后,自带了四个数据库:mysql数据库:存储MySQL服务器正常运行所需要的各种信息如时区、主从、用户、权限等infomation_schema:提供了访问数据库元数据的各种表和视图,包含数据库、表、字段类型及访问权限等performance_schema:为MySQL服务器运......
  • 查看mysql资源占用高的线程及其详细信息
    结合操作系统线程查看mysql中的sql资源 消耗 ( 5.7 才可以,5.7时   performance_schema.threads表 才加入的  thread_os_id 系统线程字段 1--1、top-H查看具体线程的CPU消耗2[root@hostmysql80mysql]#top-H345--2、iotop-umysql查看具体......
  • MySQL压缩包安装问题记录Can't connect to MySQL server on localhost (10061)解决方
    本文章向大家介绍MySQL问题记录--Can'tconnecttoMySQLserveronlocalhost(10061)解决方法,主要包括MySQL问题记录--Can'tconnecttoMySQLserveronlocalhost(10061)解决方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下......
  • mysql 时间函数
    MySQL日期跟时间函数(一)作者:Mr.ZhangMySQL日期跟时间的样式在MySQL中有很多有用处的日期跟时间函数。我们常常看到许多应用于日期的计算是在代码方面上进行的,但是其实他们完全可以使用MySQL中自带的函数来实现。在我们实际的查看MySQL的时间跟日期函数之前,先让我们看看MySQL的......
  • 【mysql】基础
    基本命令#ROOT用户进入数据库mysql-uroot-p#使用用户登录数据库mysql-u用户名-p#重启mysqlsudoservicemysqlrestart#创建数据库createdatabase数据库名字charactersetutf8mb4collateutf8mb4_unicode_ci;#进入数据库usemysql_name;#查看所......
  • mysql 日期和时间函数
    type值含义期望的expr格式SECOND秒SECONDSMINUTE分钟MINUTESHOUR时间HOURSDAY天DAYSMONTH月MONTHSYEAR年YEARSMINUTE_SECOND分钟和秒"MINUTES:SECONDS"HOUR_MINUTE小时和分钟"HOURS:MINUTES"DAY_HOUR天和小时"DAYSHOURS"YEAR_MON......
  • mysql 其他函数
    ......
  • 利用sqoop将hive数据导入导出数据到mysql
    运行环境 centos5.6  hadoop hivesqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具在使用过程中可能遇到的问题:sqoop依赖zookeeper,所以必须配置ZOOKEEPER_HOME到环境变量中。sqoop-1.2.0-CDH3B4依赖hadoop-core-0.20.2-......
  • mysql权限控制
    1.授权数据表(database_name.table_name)所有的权限给'user'@'localhost'GRANTALLONdatabase_name.table_nameTO'user'@'localhost';ALL包含的权限类型如下:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,PROCESS,REFERENCES,IND......
  • MySQL数据库管理
    MySQL数据库管理概念数据(data)描述事物的符号记录包括数字、文字图形、图像、声音、档案记录以“记录”的形势按统一的格式进行存储表将不同的记录组织在一起用来存储具体数据数据库表的集合,是存储数据的仓库以一定的组织方式存储的相互有关的数据集......