切记:Oracle 不支持Limit用法
今天为了查询前十行的数据,写了个SQL
eg:SELECT * FROM table_name limit 10
结果是一直没有结果,百度之后发现Orale没有Limit的用法,同时也了解了各个数据库查询前十行记录的方法
1、Oracle
SELECT * FROM table_name rownum<=10
2、SQL
SELECT TOP10 * FROM table_name
如果还要将结果按一定的顺序排列
SELECT TOP 10 * FROM table_name order by colum_name asc
asc代表升序,desc 代表降序
select top n * from (select top m * from table_name order by column_name ) a order by column_name desc
如果要查询第N到M条记录
SELECT TOP 10 * FROM (SELECT TOP 10 * FROM table_name order by column_nume )a order by colum_name asc
3、MYSQL/Sqlite
SELECT * FROM table_neme limit 10
也可以写0,10,一般0被省略。0代表从第0条记录之后开始,也是从第一条开始
SELECT * FROM table_neme limit 5,10
从第5条记录开始,查询后面的10条记录。10代表的是偏移量
LIMIT子句限定行数的最大值。负的LIMIT表示无上限。后跟可选的OFFSET说明跳过结果集中的前多少行。在一个复合查询中,LIMIT 子句只允许出现在最终SELECT语句中。限定对于所有的查询均适用,而不仅仅是添加了LIMIT子句的那一行。注意OFFSET关键字用于LIMIT子 句中,则限制值是第一个数字,而偏移量(offset)是第二个数字。若用逗号替代OFFSET关键字,则偏移量是第一个数字而限制值是第二个数字。这是 为了加强对遗留的SQL数据库的兼容而有意造成的矛盾。