几种数据库如何读取前N条记录

1. ORACLE Select * FROM TABLE1 Where ROWNUM<=N

2. INFORMIX Select FIRST N * FROM TABLE1 where 1=1

3. MYSQL Select * FROM TABLE1 where 1=1 LIMIT N

4. DB2

Select * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM Where ROWNUM<=N

或者 Select COLUMN FROM TABLE where 1=1 FETCH FIRST N ROWS ONLY

5. SQL SERVER

Select TOP N * FROM TABLE1 where 1=1

or

SET ROWCOUNT N Select * FROM TABLE1 where 1=1 SET ROWCOUNT N1

6. SYBASE

SET ROWCOUNT N Select * FROM TABLE1 where 1=1 SET ROWCOUNT N1

7. FOXPRO

Select * TOP N FROM TABLE orDER BY COLUMN

8. ACCESS

Select TOP N * FROM TABLE1 where 1=1

时间: 2024-11-05 22:35:03

几种数据库如何读取前N条记录的相关文章

[mysql] 查询前几条记录

From: http://www.cnblogs.com/xuxm2007/archive/2010/11/16/1878211.html SELECT   *   FROM   table   LIMIT   5;           select     *     from     issu_info     limit     0,6             Limit     0,6       这里是对的,显示前6条                   select     *   

Oracle查询前10条记录及分页查询(第5条到第10记录)

如果你想了解Oracle查询前10条记录的相关实际应用方案的话,你就可以点击以下的文章对其在实际相关操作中的正确用法,有一个更加完善的认识,希望你在浏览完以下的文章会以下就是正文的详细内容的介绍. 在Oracle怎样查询表中的top10条记录呢? select *   from test   where rownum <=10   下面是关于rownum的介绍 Rownum和row_number() over()的使用 ROWNUM是Oracle从8开始提供的一个伪列,是把SQL出来的结果进行编

SQL中显示查询结果的前几条记录

在使用数据库查询语句的过程中,我们经常需要返回查询结果的前几条或者中间几条数据,下面是我总结的几种数据库常用的方法:(table是数据库表名,table2是table表的别名) 1.SQLServer sqlserver支持top关键字,返回前若干条数据.select top 5 * from table;// 返回前5行数据 2.MySQL mysql支持limit,只能适用于mysql.limit子句用于强制select语句返回置顶的记录数,接受一个或两个数字参数,必须是整数常量.一个参数是

[MySQL] 分组排序取前N条记录以及生成自动数字序列,类似group by后 limit

前言:         同事的业务场景是,按照cid.author分组,再按照id倒叙,取出前2条记录出来.        oracle里面可以通过row_number() OVER (PARTITION BY cid,author ORDER BY id DESC) 表示根据cid,author分组,在分组内部根据id排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的),而mysql数据库就没有这样的统计函数,需要自己写复杂的sql来实现. 1,录入测试数据 USE csd

MySQL每个分类的前几条记录

MySQL 获取所有分类和每个分类的前几条记录 比如有文章表 Article(Id,Category,InsertDate) 现在要用SQL找出每种类型中时间最新的前N个数据组成的集合 SELECT A1.* FROM Article AS A1 INNER JOIN (SELECT A.Category,A.InsertDate FROM Article AS A LEFT JOIN Article AS B ON A.Category = B.Category AND A.InsertDat

【Oracle】【9】取前N条记录——rownum和row_number() over()的使用

前言: 1,取前10条数据 2,取第10条到第20条的数据 3,排序后再取前10条 4,分组后取前10条 正文: 1,最普通的情况,取前10条数据 select * from table where rownum <= 10 2,取第10条到第20条的数据 注:因为rownum本身只能用 <=的比较方式,所以用rownum rn把rownum转成实例,这样就可以做 >=的比较了 select * from (select *, rownum rn from table ) where r

稍微复杂的sql逻辑(从数据库逆序查找有限条记录(limit))并按相反顺序输出

项目中有一个业务需求是:默认加载15条历史记录(按时间顺序从早到晚). 下面是我构造的sql逻辑,mark一下,亲测可行. SELECT * FROM (SELECT *FROM group_chatmsg_v WHERE ((group_Id=46 AND send_user_id=28 AND receive_user_id=70) OR (group_Id=46 AND receive_user_id=28 AND STATUS=1)) AND is_delete =0 ORDER BY

mysql使用GROUP BY分组实现取前N条记录的方法

MySQL中GROUP BY分组取前N条记录实现 mysql分组,取记录 GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY分组取前N条记录实现方法. 这是测试表(也不知道怎么想的,当时表名直接敲了个aa,汗~~~~): 结果: 方法一: SELECT a.id,a.SName,a.ClsNo,a.Score FROM aa a LEFT JOIN aa b ON a.ClsNo=b.ClsNo AND a.Score<b.Score group by a.id,a.

从排序后的结果集中删除 前n条记录

端午有人休息,有人忙 操作前数据: --从排序后的结果集中删除 前n条记录delete from emp where empno in (select empno                   from (select *                           from emp                          where comm is not null                            and rownum < &n