博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
限制返回的行数
阅读量:6334 次
发布时间:2019-06-22

本文共 590 字,大约阅读时间需要 1 分钟。

创建测试用表:

CREATE OR REPLACE VIEW V ASSELECT 'a' AS c FROM dualUNION ALLSELECT 'b' AS c FROM dualUNION ALLSELECT 'c' AS c FROM dualUNION ALLSELECT 'd' AS c FROM dualUNION ALLSELECT 'e' AS c FROM dual;SELECT * FROM v;

如果要查询前两条数据,可以使用伪列rownum来完成:

SELECT c FROM v WHERE ROWNUM < 3;

查询结果如下:

如果直接用rownum = 2来查询会出现什么情况呢?

SELECT c FROM v WHERE ROWNUM = 2;

查询结果如下:

这是因为rownum是对结果集加的一 个伪列,即先查到结果集之后再加上去的一个列 (强调:先要有结果集)。它总是从1开始排起的。所以你选出的结果不可能没有1,而有其他大于1的值。

正确的查询语句应该像下面这样,先生成序号:

SELECT c FROM (SELECT ROWNUM AS no, c FROM v) WHERE no = 2;

 查询结果如下:

转载于:https://www.cnblogs.com/minisculestep/p/4872674.html

你可能感兴趣的文章
反编译
查看>>
php mysql feature comparison
查看>>
arm 指令集
查看>>
mysql导入导出
查看>>
dede:list调用body内容的实现方法
查看>>
OpenCart 2.x Ajax单页结账扩充功能
查看>>
trim函数
查看>>
开源中国,我来也~
查看>>
mysql 导出某个表的字段
查看>>
java基础之接口
查看>>
[转]敏捷开发中对进度的把握
查看>>
php---------正则判断字符串中是否由汉字 数字 英文字母组成
查看>>
php--------使用js生成二维码
查看>>
排序算法
查看>>
web.xml 的加载过程
查看>>
Go interfaces make test stubbing easy
查看>>
Consecutive Numbers leetcode
查看>>
sed 常用命令
查看>>
R 语言笔记 频数表和列联表
查看>>
10.2-全栈Java笔记:最全面的IO技术(二)
查看>>