日期:2014-05-16  浏览次数:20453 次

【转】各种不同数据库查询控制行数的sql语句

SqlServer???

??

select top 10 * from tablename; ??

??

Informix ??

??

select first 10 * from tablename; ??

??

Oralce ??

??

select * from tablename where rownum<=10; ??

??

MySql ??

??

SQL1 select * from tableName limit 10??

?

SQL2 select t.user_id,random() as Random from udb_user t limit 10,15;

?

?

LIMIT子句限定行数的最大值。负的LIMIT表示无上限。后跟可选的OFFSET说明跳过结果集中的前多少行。在一个复合查询中,LIMIT子 句只允许出现在最终SELECT语句中。限定对于所有的查询均适用,而不仅仅是添加了LIMIT子句的那一行。注意OFFSET关键字用于LIMIT子句 中,则限制值是第一个数字,而偏移量(offset)是第二个数字。若用逗号替代OFFSET关键字,则偏移量是第一个数字而限制值是第二个数字。这是为 了加强对遗留的SQL数据库的兼容而有意造成的矛盾?

?SQL1查询当前表前10条记录,SQL2查询当前表前10条之后的15条记录,SQL2中的10是偏移量

?

SQLite??? 与MySQL相同

??

select ? *? from tableName limit 10??