mysql的row_number()实现
在mysql中没有row_number()方法,这里模拟row_number()实现:
如有表 student
id name age class
1 张1 15 1
2 张2 15 1
3 张3 15 1
4 张4 15 2
5 张5 15 2
6 张6 15 2
7 张7 15 3
8 张8 15 3
9 张9 15 3
10 张10 15 5
11 张11 15 5
…………
现在想得到每个班级的前2名学生资料
SQL:
SELECT a.* FROM student a WHERE (SELECT COUNT(*) FROM student WHERE class = a.class AND id < a.id ) < 2 ORDER BY a.class,a.id;
通过SELECT COUNT(*) FROM student WHERE class = a.class AND id < a.id 这一句来查询当前记录在class相同的情况下的排序位置,然后判断 < 2的则是前两名的记录。
mysql的row_number()实现的更多相关文章
- MySQL 下 ROW_NUMBER / DENSE_RANK / RANK 的实现
原文链接:http://hi.baidu.com/wangzhiqing999/item/7ca215d8ec9823ee785daa2b MySQL 下 ROW_NUMBER / DENSE_RAN ...
- mysql 实现row_number功能
需求: 解答:由于mysql 中没有类似oracle中的 row_number功能,要实现row_number 可以使用如下功能: Select pkid,(@row_number:=@row_num ...
- mysql 方法row_number()方法
1. SELECT t.*, @curRow := @curRow + 1 AS row_numberFROM structure tJOIN (SELECT @curR ...
- mysql实现row_number()和row_number() over(partition by)
row_number() ) r, test_table t 解释:给test_table里的数据设置行号, rn是行号 row_number() over(partition by) ,@rank: ...
- MySQL 实现row_number() 分组排序功能
数据库基本脚本 CREATE TABLE `a` ( `ID` INT(10) NULL DEFAULT NULL, `class` INT(10) NULL DEFAULT NULL, `score ...
- mysql 实现row_number,获取上一条,下一条
代码思路如下: select *,(@row_num:=@row_num+1) as row_no from stc_output,(select(@row_num:=0)) b; select * ...
- sql小知识
1:查询某一段落内的几条数据,按时间降序. LIMIT 5,10; //检索记录行6-15 2:创建视图, 查询出某些类别的数据,保存在视图中. || 的优先级高于and ) ); 3: 查询出 ...
- SQL语句问题具体什么意思呢?
SQL语句问题 底下SQL查询语法中的 as A 和 as B 是什么意思?为什么A和B不用定义就能用? 程序代码: Private Sub LoadFileList(ByVal strSub ...
- Mysql 里面使用row_number() 的用法和注意
虽然使用不多,但是也有情况是需要在mysql 里面写语句开发功能的.在sql server 使用惯了,习惯了使用row_number() 函数进行排序,但是mysql 确没有这样一个函数.然后找到了p ...
随机推荐
- 关于HTML5手机端页面缩放的问题
通常在写HTML5手机端页面的时候,我们会发现页面所显示元素的比例不正确,那此时我们需要添加的就是: <meta name="viewport" content=" ...
- Android Generate Signed APK: Errors while building APK. You can find the errors )
开发过程中,总会遇到很多坑: Gradle build finished with 101 error(s) in 1m 35s 424ms 19:23:50 Generate Signed APK: ...
- P2421 A-B数对(增强版)
题目背景 woshiren在洛谷刷题,感觉第一题:求两数的和(A+B Problem)太无聊了,于是增加了一题:A-B Problem,难倒了一群小朋友,哈哈. 题目描述 给出N 个从小到大排好序的整 ...
- WPF中在后台实现控件样式
加入现在有一个Button的样式如下: <Style TargetType="{x:Type Button}" x:Key="MyButton">. ...
- WPF中做出一个QQ登陆界面
Xaml: <Window x:Class="ChatSoftware.MainWindow" xmlns="http://schemas.microsoft.co ...
- vue 动态合并单元格、并添加小计合计功能
1.效果图 2.后台返回数据格式(平铺式) 3.后台返回数据后,整理所需要展示的属性存储到(items)数组内 var obj = { "id": curItems[i].id, ...
- 修改linux的时区问题
修改linux的时区问题 配置服务器节点上的时区的步骤: 1.先生成时区配置文件Asia/Shanghai,用交互式命令 tzselect 即可: 2.拷贝该时区文件,覆盖系统本地时区配置: cp / ...
- h5快速制作工具-企业级. 非个人无水印
Epub360 Epub是团队引入的专业级H5应用开发工具,能够快速制作出高质量的H5运营交互页面,具有动画控制.交互设定.社交应用和数据应用的特点,其制作过程就类似于制作一个PPT,比较容易上手. ...
- OmniFocus
褪墨・时间管理 “把所有事情都从你的脑袋里弄出来.在事情出现就做好相关行动的一系列决定,而不是在事情爆发的时候.以合适的类别组织好你的项目的各种提醒以及下一步行动.保持你的系统更新和完整,及时进行回顾 ...
- 变色龙启动MAC时,错误信息“ntfs_fixup: magic doesn't match:”的解决办法
如下是变色龙启动的bdmesg,解决办法就是用mac的磁盘管理器,对ntfs分区进行检验修复.需要安装ntfs的驱动支持. 实在不行,就删除调整过大小的分区,重新用Windows的磁盘管理器重新分区. ...