mysql之limit用法和orcale的rownum用法
2021/7/15 19:06:36
本文主要是介绍mysql之limit用法和orcale的rownum用法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
mysql之limit用法
1.mysql> SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15 #从6行开始检索,检索10行的数据
2.//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last. # 从96行开始一直到最后一行数据
3.//如果只给定一个参数,它表示返回最大的记录行数目:
mysql> SELECT * FROM table LIMIT 5; //检索前 5 个记录行 (1到5行数据)
//换句话说,LIMIT n 等价于 LIMIT 0,n。
orcale的rownum用法
SELECT * FROM T_P_AB_PORT where rownum=1;--查询第一行
SELECT * FROM T_P_AB_PORT where rownum=3; --其他无法查询 等号不能单独使用(除=1外)
SELECT * FROM T_P_AB_PORT where rownum<=3;--查询1-3行 小于号可以使用(还可以合等于一起使用)
SELECT * FROM T_P_AB_PORT where rownum>=3;--大于号无法使用
原因:由于rownum是一个总是从1开始的伪列
解决方法:如果想找到从第二行记录以后的记录,可使用以下的子查询方法来解决。注意子查询中的rownum必须要有别名,否则还是不会查出记录来
SELECT * FROM (SELECT t.*,rownum no FROM T_P_AB_PORT t) where no >=3;
查区间比如 5到10条数据
1:单表查询
SELECT * FROM (SELECT t.*,ROWNUM r FROM TABLE t WHERE ROWNUM <= pageNumber*pageSize) WHERE r >(pageNumber)*pageSize
SELECT * FROM (SELECT t.*,rownum no FROM T_P_AB_PORT t where rownum<=10) where no >=5;
双表查询
SELECT * FROM (SELECT ROWNUM RN,XX.* FROM (SELECT 表名.字段名, 表名.字段名, 表名.字段名... FROM TABLE1 t1, TABLE2 t2 WHERE t1.字段=t2.字段) XX WHERE ROWNUM<=pageSize*pageNumber) WHERE RN >(pageNumber-1)*pageSize
select *
from (select ab.*, rownum no
from (select b.*
from T_D_AC_TRADE_IVT a, T_P_AB_PORT b
where a.c_port_code = b.c_port_code) ab
where rownum <= 10)
where no >= 5
--其中
这篇关于mysql之limit用法和orcale的rownum用法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程
- 2024-11-01部署MySQL集群学习:新手入门教程
- 2024-11-01部署MySQL集群入门:新手必读指南
- 2024-10-23BinLog入门:新手必读的MySQL二进制日志指南
- 2024-10-23Binlog入门:MySQL数据库的日志管理指南