mysql提取前两个数据_各种数据库提取表的前几条记录的方法

SQL查询:各数据库系统获取前N条记录的方法
这篇博客介绍了如何在不同数据库管理系统(如Oracle、MySQL、SQL Server、Informix、DB2和Sybase)中使用SQL语句获取表的前N条记录。在MySQL中,可以使用LIMIT子句实现这一功能,例如`LIMIT offset, recnum`来获取从第offset条开始的recnum条记录。了解这些差异对于数据库开发者来说至关重要。

前一阵子去了个面试,其中有个道考题是写出取某张表前10条记录的sql语句。一头雾水,回来问了同学也没有结果,近来上网搜了一下,收获如下:

原来不同的DBMS对此操作的sql语句也不同。

(取出TABLE1 的前 N 的纪录)

1. ORACLE

SELECT * FROM TABLE1 WHERE ROWNUM<=N

2. MYSQL

SELECT * FROM TABLE1 LIMIT N

3. SQL SERVER

SELECT TOP N * FROM TABLE1

下面的DBMS我都没用过了,

4. INFORMIX

SELECT FIRST N * FROM TABLE1

5. DB2

SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC)                  AS ROWNUM WHERE ROWNUM<=N

或者

SELECT COLUMN FROM TABLE FETCH FIRST N ROWS ONLY

6. SYBASE

SET ROWCOUNT N

7. FOXPRO

SELECT * TOP N FROM TABLE ORDER BY COLUMN

MySQL中如何实现Top N及M至N段的记录查询?

在MySQL中,如何实现Top N及M至N段的记录查询?

我们可以利用MySQL中SELECT支持的一个子句——LIMIT——来完成这项功能。

LIMIT可以实现top N查询,也可以实现M至N(某一段)的记录查询,具体语法如下:

SELECT * FROM MYTABLE

ORDER BY AFIELD

LIMIT offset, recnum

其中offset为从第几条(M+1)记录开始,recnum为返回的记录条数。例:

select * from mytable

order by afield

limit 2, 5

即意为从第3条记录开始的5条记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值