数据库中TOP—N查询
2024-09-05 09:59:32
1)查询1-4的数据
SELECT rownum, sno, cno, score
FROM (SELECT * FROM sc order by score desc)
WHERE rownum < 4
2)查询2-5行的数据
SELECT rn, sno, cno, score
FROM (SELECT rownum rn, sno, cno, score
FROM (SELECT * FROM sc order by score desc))
WHERE rn > 2
and rn < 5
说明:1.rownum “伪列” ,数据表中本身就不存在这样的列,是数据库为每个数据自然加上去的,默认是主索引排序,所以需要我们用一个嵌套把它拿出来;
2.对rownum只能使用<或者<=,=,>,>=无法返回,需要我们再嵌套一层循环来把rownum(rn别名很有必要)给单独拿出来再去过滤。
最新文章
- 辗转相除法求最大公约数,非goto
- java--UDP屏幕广播代码
- 【解题报告】[动态规划] RQNOJ - PID273 / 马棚问题
- linux c/c++ IP字符串转换成可比较大小的数字
- 数据结构,可并堆(左偏树):COGS [APIO2012] 派遣
- ulimit -n修改单进程可打开最大文件数目
- 深搜基础题目 杭电 HDU 1241
- Backbone.js的技巧和模式
- List集合就这么简单【源码剖析】
- lambda 怎么传递ref参数
- 2-4、配置Filebeat使用logstash
- 「JOISC 2017 Day 3」幽深府邸
- python第九天(9-34)
- bottle.py中的路由搜索优化
- 自定义CRM系统
- [转帖] 打开加密SQLite文件的方法
- 【Spring】—— 自动装配
- laravel session的几个特点
- Button控件双击事件不执行
- A网页高度随B内容而自然变化兼容各种浏览器