六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 77|回复: 0

各种数据库 取出指定条数记录

[复制链接]

升级  15.2%

176

主题

176

主题

176

主题

进士

Rank: 4

积分
576
 楼主| 发表于 2013-1-13 18:47:37 | 显示全部楼层 |阅读模式
http://www.diybl.com/course/7_databases/database_other/2007106/77032.html

1. ORACLE
SELECT * FROM TABLE1 WHERE ROWNUM<=N

2. MYSQL
SELECT * FROM TABLE1 LIMIT N



3. INFORMIX
SELECT FIRST N * FROM TABLE1
4. DB2
SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM<=N
或者
SELECT COLUMN FROM TABLE FETCH FIRST N ROWS ONLY
5. SQL SERVER
SELECT TOP N * FROM TABLE1
6. SYBASE
SET ROWCOUNT N
GO
SELECT * FROM TABLE1
7. FOXPRO
SELECT * TOP N FROM TABLE ORDER BY COLUMN

虽然 select   *   from   table   where   rownum< 你要查的记录条数,能够取出前几条记录,但是你如果要把排序后记录取前几条结果就不对,如下 SQL 语句  
  select   *   from   table   where   rownum<50   order   by   字段名   desc ,取出来的不时按照先排序后取前几名,而是先取前几名,再排序
   要实现先排序,再取前几名用下面这条语句
select * from (select * from table order by 字段名 desc) where rownum<50

文章出处:http://www.diybl.com/course/7_databases/database_other/2007106/77032.html
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表