1. ORACLE
SELECT * FROM TABLE1 WHERE ROWNUM<=N
2. INFORMIX
SELECT FIRST N * FROM TABLE1
3. DB2
SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM<=N
或者
SELECT COLUMN FROM TABLE FETCH FIRST N ROWS ONLY
4. SQL SERVER
SELECT TOP N * FROM TABLE1
5. SYBASE
SET ROWCOUNT N
GO
SELECT * FROM TABLE1
6. MYSQL
SELECT * FROM TABLE1 LIMIT N
7. FOXPRO
SELECT * TOP N FROM TABLE ORDER BY COLUMN
雖然 select * from table where rownum< 你要查的記錄條數(shù),能夠取出前幾條記錄,但是你如果要把排序后記錄取前幾條結(jié)果就不對(duì),如下 SQL 語句select * from table where rownum<50 order by 字段名 desc ,取出來的不時(shí)按照先排序后取前幾名,而是先取前幾名,再排序。
要實(shí)現(xiàn)先排序,再取前幾名用下面這條語句select * from (select * from table order by 字段名 desc) where rownum<50
某一個(gè)字段沒有重復(fù)的
其他的不要管 只要這條記錄重復(fù)的情況下的第一條
select * from f where id in (select max(id) from f group by jid)