用惯了access mssql server的朋友,可能在用mysql查询前N条记录时,习惯的使用select top n 形式的语句,在这里说明一下,mysql没有此语法,mysql用limit来实现相关功能,而且功能更加强大,GOOD。以下是limit在mysql中的使用详解:

语法:

1 SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset

LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。

如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。

初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。

1 --举例:2

3 select * from table limit 5; --返回前5行4

5 select * from table limit 0,5; --同上,返回前5行6

7 select * from table limit 5,10; --返回6-15行

如何优化limit

当一个查询语句偏移量offset很大的时候,如select * from table limit 10000,10 , 最好不要直接使用limit,而是先获取到offset的id后,再直接使用limit size来获取数据。效果会好很多。

如:

select * From customers Where customer_id >=(

select customer_id From customers Order By customer_id limit 10000,1

) limit 10;

MS SqlServer TOP子句

语法:

SELECT TOP number|percent column_name(s) FROM table_name;

举例:

1. 选取表中前2条记录

select top 2 * from table;

2. 选取表中50%的记录

select top 50 persent from table;

3. 从数据库中检索第10—20条记录

SELECT TOP 10 *

FROM TestTable

WHERE (ID NOT IN

(SELECT TOP 20 id

FROM TestTable

ORDER BY id))

ORDER BY ID;

Oracle分页

语法:

SELECT column_name(s) FROM table_name WHERE ROWNUM <= number

举例:

1. 选取前5条记录

SELECT * FROM Persons WHERE ROWNUM <= 5

分页:

--从数据库表中第M条记录开始检索N条记录

SELECT * FROM (SELECT ROWNUM r,t1.* From 表名称 t1 where rownum < M + N) t2

where t2.r >= M

--如:从表Sys_option(主键为sys_id)中从第10条记录开始检索20条记录,语句如下

SELECT * FROM (SELECT ROWNUM R,t1.* From Sys_option where rownum < 30 ) t2

Where t2.R >= 10

mysql top limit_MySQL中如何实现select top n ----Limit相关推荐

  1. oracle怎么获取行,在oracle中如何实现SELECT TOP N取得前几行记录

    在sql server中可以通过SELECT TOP N来取得想要结果的前几行的信息. 但是在oracle中必须借助伪列rownum来完成 一个查询语句在取得结果集后,伪列rownum就会从1开始,从 ...

  2. mysql的limit_MYSQL中LIMIT用法

    展开全部 LIMIT是32313133353236313431303231363533e4b893e5b19e31333363393732MySQL内置函数,其作用是用于限制查询结果的条数. 1)其语 ...

  3. select top语句 mysql_SQL SELECT TOP 语句

    SELECT TOP 子句用于规定要返回的记录的数目. SELECT TOP 子句对于拥有数千条记录的大型表来说,是非常有用的. 注释:并非所有的数据库系统都支持 SELECT TOP 子句. SQL ...

  4. Oracle——Oracle 实现类似 select top n 语句

    问题描述 使用Oracle实现类似于SQL Server中select top n语句 问题分析 由于Oracle不支持select top n语句,所以在Oracle中经常是用order by 跟r ...

  5. MySql基础篇---002 SQL之SELECT使用篇: 基本的SELECT语句,运算符,排序与分页,多表查询,单行函数,聚合函数,子查询

    第03章_基本的SELECT语句 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. SQL概述 1.1 SQL背景知识 1946 年,世界上第一台电脑 ...

  6. mysql 取出20条数据_“取出数据表中第10条到第20条记录”的sql语句+select top 使用方法...

    1.首先.select top使用方法: select * from table --  取全部数据.返回无序集合 select top n * from table -- 依据表内数据存储顺序取前n ...

  7. MySQL不能用Select top 1 * from...这样的语句

    select top 1 * from [tablename] order by ID desc 报错 SELECT  top 1 * FROM version_manage where title ...

  8. Select Top在不同数据库中的使用

    1. oracle数据库 SELECT * FROM TABLE1 WHERE ROWNUM<=N 2. Infomix数据库 SELECT FIRST N * FROM TABLE1 3. D ...

  9. 如何在SQL Server中的SELECT TOP 中使用变量

    在 TOP 中使用变量 以下示例使用变量获得 AdventureWorks 数据库的 dbo.Employee 表中列出的前 10 个雇员. USE AdventureWorks ; GO DECLA ...

最新文章

  1. 细节解密:当前最佳的YOLOv4是如何炼成火眼金睛的?
  2. C++ Primer 5th笔记(chap 14 重载运算和类型转换)函数匹配与重载运算符
  3. jps、jinfo、jstat、jstack、jmap、jconsole等命令简介
  4. Win10系统电脑查看无线密码的方法
  5. linux 混杂模式 收包,Linux下使用混杂模式抓包(2)
  6. Exchange 2016 之分层通讯簿
  7. bzoj 2434 [Noi2011]阿狸的打字机(AC自动机+fail树+dfs序+树状数组)
  8. pytorch中的nn.LSTM模块参数详解
  9. DNF怎么查看服务器状态,dnf显示服务器读取中进不去怎么办 dnf显示服务器读取中进不去解决方法...
  10. ctrl+d与ctrl+c
  11. 关于String a=new String(a)创建几个对象问题的正确答案
  12. matlab负反馈传函,已知负反馈系统开环传函求阶跃传函
  13. LINQ分页和排序,skip和Take 用法
  14. 不开心就玩消消乐~~~正则表达式(1)
  15. python将图片按照文件名分类,并移入相应文件夹
  16. RSA/ECDSA host key has changed 错误
  17. 文献导读 - Machine Learning Identifies Stemness Features Associated with Oncogenic Dedifferentiation...
  18. 求素数的三大算法 —— C 语言 篇
  19. RStudio无法成功下载stringi包
  20. 移动端图片上传并生成图片(图片上传/图片压缩/图片绘制/Vue纯前端)

热门文章

  1. [Mysql]过大sql文件导入过慢问题解决
  2. Table表头与数据列对齐问题解决方案
  3. Java中FTPClient上传中文目录、中文文件名乱码问题解决方法
  4. 解决IDEA快捷键 Alt+Insert 失效的问题
  5. 解决Parameter ‘__frch_item_0‘ not found. Available parameters 问题
  6. Spring MVC报异常:org.springframework.web.util.NestedServletException: Request processing failed
  7. 如何使用ui-router中的ui-sref将参数传递给控制器
  8. 什么是NullReferenceException,如何解决?
  9. 记录下最近写前端的一些小技巧
  10. [转]使用QT开发GoogleMap瓦片显示和下载工具