sql语句里的limit使用方法

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

在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了上面这样一个功能。

LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。

mysql> SELECT * FROM table LIMIT 5,10; //检索记录行6-15

//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:

mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.

//如果只给定一个参数,它表示返回最大的记录行数目:

mysql> SELECT * FROM table LIMIT 5;     //检索前 5 个记录行

//换句话说,LIMIT n 等价于 LIMIT 0,n。

时间: 2024-11-10 16:38:33

sql语句里的limit使用方法的相关文章

SQL语句获取各种时间的方法

SQL语句获取各种时间的方法1. 当前系统日期.时间select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值例如:向日期加上2天select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.0003. datediff 返回跨两个指定日期的日期和时间边界数.select datediff(day,'2004-09-01','2004-09-18') --返回:174. dat

在项目中,多个方法会调用相同的sql语句,怎么解决各个方法的不同sql查询,解决冲突。

公司的代码中sql语句,可能会被多个方法进行调用,但是有的方法会关联到别的表,这样的话,如果修改不当,那么同样调用该sql语句的方法,会出现报错. 最近做的公司的一个功能,就出现这样一个问题,虽然本功能完成,但是调用该sql的其他方法,出现严重错误,虽然可以不同的方法些不同的sql语句,就可以解决该方法,但是公司的代码这样,痛另外一种方法解决. 该问题出现需求背景:这个需求是在做物流系统,这次要在前台页面显示的信息中增加一个字段,而要显示这个字段,就得在关联两张新表,所以在前台页面中增加一个in

Sql语句里的递归查询

Sql语句里的递归查询 SqlServer2005和Oracle 两个版本 以前使用Oracle,觉得它的递归查询很好用,就研究了一下SqlServer,发现它也支持在Sql里递归查询举例说明:SqlServer2005版本的Sql如下:比如一个表,有id和pId字段,id是主键,pid表示它的上级节点,表结构和数据:CREATE TABLE [aaa]( [id] [int] NULL, [pid] [int] NULL, [name] [nchar](10))GOINSERT INTO aa

织梦DedeCms用SQL语句调用数据库任意内容方法

织梦DedeCms给我们提供了大量调用标签,供我们调用各种数据,但提供再多的标签,也有满足不了我们的时候,这时我们可以用SQL语句,灵活调用我们需要的内容. 如何任意调用数据库中的内容呢?先举个例子:大家都知道DEDE后台有个频道模型里面有添加单页文档的功能,但如何在首页调用单页文档的内容呢,现在给大家讲下如何使用: 1.首页在后台单页文档管理里添加一个单页文档,内容编辑框输入你要的内容生成. 2.在需要调用单页文档的地方加入SQL万用标签{dede:sql sql=”select body f

C#后台sql语句注释,根据isnull()方法进行条件选择

select isnull(b.guid,k.guid) as project_id,isnull(b.projectno,k.projectno) as projectno, isnull(b.projectname,k.projectname) as projectname,c.COMPANYNAME as customer, isnull(b.project_date,k.project_date) as project_date,d.typecn,a.guid as apply_id,a

Sql语句里的递归查询 SqlServer2005和Oracle 两个版本

以前使用Oracle,觉得它的递归查询很好用,就研究了一下SqlServer,发现它也支持在Sql里递归查询举例说明:SqlServer2005版本的Sql如下:比如一个表,有id和pId字段,id是主键,pid表示它的上级节点,表结构和数据:CREATE TABLE [aaa]( [id] [int] NULL, [pid] [int] NULL, [name] [nchar](10))GOINSERT INTO aaa VALUES(1,0,'a')INSERT INTO aaa VALUE

MySQL中优化sql语句查询常用的种方法

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from

MySQL中明知道查询结果只有一个,SQL语句中使用LIMIT 1会提高查询效率

用户使用email作为用户名登陆的话,就需要查询出email对应的一条记录.每个用户的email是唯一的. SELECT * FROM t_user WHERE email=?; 上面的语句实现了查询email对应的一条用户信息,但是由于email这一列没有加索引,会导致全表扫描,效率会很低. SELECT * FROM t_user WHERE email=? LIMIT 1; 加上LIMIT 1,只要找到了对应的一条记录,就不会继续向下扫描了,效率会大大提高. 如果email是索引的话,就不

sql为什么用0,1表示男女?在sql语句里转好还是在页面转好?

转化语句:SELECT CASE `user_gender` WHEN '1' THEN '男' WHEN '0' THEN '未知'ELSE '女' END AS gender FROM `info_user` 原文地址:https://www.cnblogs.com/linanana/p/11990785.html