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

前一阵子去了个面试,其中有个道考题是写出取某张表前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条记录。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值