数据库分页查询
最近在写自动化测试方面的事,好久没有使用数据库,一时手生,居然忘了分页查村语句的写法,赶忙跑去找了找,本来是很小的一个知识点,就因为不常用,导致手生,所以说很多看似方便的工具,或许确实可以方便很多开发中的问题,但是他们也会让我们逐步的丧失能力,记得前一阵子,看到说美国是一群有想法的人领导着一群没有想法的人,很是受教。废话不多说,总计一下,一些常见的数据库的分页查询的方法。
mySQL:
mySQL数据库内部提供了一个LIMIT函数,一般只需要直接放在查询语句后面即可。
LIMIT可以用来限制查询(SELECT)语句返回过来的数据,他一般有一个或两个参数,如果给出两个参数,第一个参数指定返回的第一行在所有数据中的位置,从0开始(不是1),第二个参数是指定返回最多的行数。
例如:
SELECT * FROM table WHERE name=cter LIMIT 5; 返回前五行数据
SELECT * FROM table WHERE name=cter LIMIT 0 ,5; 返回前5行数据
SELECT * FROM table WHERE name=cter LIMIT 5,10; 返回第5行到第十行的数据
ORCALE:
ORCALE数据库实现分页查询可以使用row_number()函数或者使用rownum虚列两种方法
第一种:
SELECT * FROM(SELECT t.* row_number() over(order by t1.id) rowno from TABLE) WHERE rowno between 10 and 20;
第二种:
SELECT * FROM (SELECT t.*, rownum as rowno FROM TABLE1) WHERE rowno BETWEEN 10AND 20;
这两种方法比较,是第二种更好一些,因为不用order by语句,可以提高查询速度。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。