mysql、sqlserver、oracle取前N条记录

MySql:

select * from table limit N

 

Sql Server:

select top N * from table (order by id)

 

从表中取出第 n 条到第 m 条的记录:
Select TOP m-n+1 * FROM table Where (id NOT IN(Select TOP n-1 id FROM table))

 

Oracle:

select * from table where rownum<N

 

--   我們想把最先進入公司的5個人找出來

SELECT   *   FROM   emp   WHERE   ROWNUM   <=   5   ORDER   BY   hiredate;

SELECT   *   FROM   (SELECT   *   FROM   emp   ORDER   BY   hiredate)
      WHERE   ROWNUM   <=   5;

--   我們想把最先進入公司的6~10個人找出來!!!!!!!!!!!!!!
SELECT   *   FROM   (SELECT   *   FROM   emp   ORDER   BY   hiredate)
      WHERE   ROWNUM   <=   10  
MINUS
SELECT   *   FROM   (SELECT   *   FROM   emp   ORDER   BY   hiredate)
      WHERE   ROWNUM   <=   5;

posted @ 2010-05-29 10:46  云也  阅读(514)  评论(1)    收藏  举报