[网络收集]sql在不同数据库查询前几条数据

 

1. ORACLE
  SELECT * FROM TABLE1 WHERE ROWNUM<=N
  HQL: from table1 t order by t.createTime desc 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

hibernate查询记录的前10条记录

就像mysql的SQL语句的"select * from table limit 10" hql 不支持limit

query.setFirstResult(0);//从第0条开始取

query.setMaxResults(10);//取十条记录


7. FOXPRO
SELECT * TOP N FROM TABLE ORDER BY COLUMN

8.postgres查询前几条记录SQL
SELECT * FROM TABLE LIMIT

 

 

各种数据库取前10行记录

access:
select top (10) * from table1 where 1=1

db2:
select column from table where 1=1 fetch first 10 rows only
取第3行到第5行的记录
select * from (select row_number() over() as row from table) as temp where row>=3 and row<=5

mysql:
select * from table1 where 1=1 limit 10

sql server:
前10条:select top (10) * from table1 where 1=1
后10条 select top (10) * from table1 order by id desc
在sqlserver,如何读取按照某个排序,第5到10行这个记录
select top 6 * from table where id not in(select top 4 id from table)

oracle:
select * from table1 where rownum<=10
取中间记录:60~100
select * from (select rownum r,a.* from table a where rownum <= 100) where r >= 60;

你可能感兴趣的:(sql)