您正在使用 IPV4 [44.221.73.157] 访问本站,您本次已经查看了 1 页
用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
悟空收录网       [公益]保护绿色环境,构建和谐社会      

【腾讯云】2核2G4M云服务器新老同享99元/年,续费同价      
[公益] 地球是我家,绿化靠大家      
2024年 七夕节 056
2025年 高 考 357
2025年 元 旦 200
2025年 春 节 228
 
您现在的位置:首页 >> 数据库 >> 内容
本类新增
本类热门
MySQL5.7实现row_number()和over()函数
内容摘要: 一、创建测试数据库db_test--创建测试数据库db_testCREATEDATABASE/*!32312IFNOTEXISTS*/`db_test`/*!40100DEFAULTCHARACTERSETutf8*/;二、使用db_test数据库--使用db_test数据库USE`db_test`;/*Tablestructurefortable`test......
一、创建测试数据库db_test

--创建测试数据库db_test

CREATEDATABASE/*!32312IFNOTEXISTS*/`db_test`/*!40100DEFAULTCHARACTERSETutf8*/;

二、使用db_test数据库

--使用db_test数据库

USE`db_test`;/*Tablestructurefortable`test1`*/

三、先删除测试表看看

--先删除测试表看看

DROPTABLEIFEXISTS`test1`;

四、创建测试表

--创建测试表

CREATETABLE`test1`(

`id`int(10)NOTNULL,

`score`int(20)DEFAULTNULL,

`class`char(10)COLLATEutf8_binDEFAULTNULL,

`name`char(20)COLLATEutf8_binDEFAULTNULL,

PRIMARYKEY(`id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_bin;

五、测试表刷数

--测试表刷数

/*Dataforthetable`test1`*/

insertinto`test1`(`id`,`score`,`class`,`name`)values

(1,100,'语文','张三'),

(2,98,'语文','李四'),

(3,98,'语文','王五'),

(4,98,'数学','张三'),

(5,96,'数学','李四'),

(6,92,'数学','王五'),

(7,85,'数学','张三'),

(8,96,'语文','张三'),

(9,96,'语文','张三'),

(10,91,'语文','张三'),

(11,91,NULL,'张三');

六、查询测试表

--查询测试表

select*fromtest1;

七、MySQL5.7实现row_number()over()函数的功能

--MySQL5.7实现row_number()over()函数的功能

SELECTid

,class

,score

,rank

FROM(SELECTb.*

--定义用户变量@rownum来记录数据的行号。通过赋值语句@rownum:=@rownum+1来累加达到递增行号。

,@rownum:=@rownum+1

--如果当前分组编号和上一次分组编号相同,则@rank(对每一组的数据进行编号)值加1,否则表示为新的分组,从1开始

,IF(@pdept=b.class,@rank:=@rank+1,@rank:=1)ASrank

--定义变量@pdept用来保存上一次的分组id

,@pdept:=b.class

--这里的排序不确定是否需要,保险点还是加上吧

FROM(SELECT*FROMtest1aORDERBYa.class,a.scoreDESC)b

--初始化自定义变量值

,(SELECT@rownum:=0,@pdept:=NULL,@rank:=0)c

--该排序必须,否则结果会不对

ORDERBYb.class,b.scoreDESC)result

orderbyclass,rank;

版权声明:本内容来源于网络,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:MySQL查看目前运行状况的两种方法

 

下一篇:sqlserver数据库如何修改实例名称

发布日期:2024/6/3
手机扫二维码直达本页
发布时间:20:55:56
点  击:14
录  入:壹家怡园
相关文章
Baidu
YiJiaCMS 7.5.1 build240527(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,Cloudflare提供加速防护
运行时间载入中.....