为了账号安全,请及时绑定邮箱和手机立即绑定

MYSQL - ORDER BY&LIMIT

MYSQL - ORDER BY&LIMIT

江户川乱折腾 2019-07-31 18:34:20
MYSQL - ORDER BY&LIMIT我有一个看起来像这样的查询:SELECT article FROM table1 ORDER BY publish_date LIMIT 20ORDER BY如何工作?它会订购所有记录,然后获得前20个记录,还是会得到20个记录并按publish_date现场订购?如果它是最后一个,你不能保证真正得到最近的20篇文章。
查看完整描述

3 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

它将首先排序,然后获得前20个。数据库也将在WHERE之前的子句中处理任何内容ORDER BY


查看完整回答
反对 回复 2019-07-31
?
catspeake

TA贡献1111条经验 获得超0个赞

LIMIT子句可用于约束SELECT语句返回的行数。LIMIT需要一个或两个数字参数,它们都必须是非负整数常量(使用预准备语句时除外)。

使用两个参数,第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数。初始行的偏移量为0(不是1):

SELECT * FROM tbl LIMIT 5,10;  # Retrieve rows 6-15

要从特定偏移量检索所有行直到结果集的末尾,可以使用一些大数字作为第二个参数。此语句检索从第96行到最后一行的所有行:

SELECT * FROM tbl LIMIT 95,18446744073709551615;

使用一个参数,该值指定从结果集的开头返回的行数:

SELECT * FROM tbl LIMIT 5;     # Retrieve first 5 rows

换句话说,LIMIT row_count相当于LIMIT 0,row_count。


查看完整回答
反对 回复 2019-07-31
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

您可以在订单末尾添加[asc]或[desc]以获取最早或最新的记录

例如,这将首先为您提供最新记录

ORDER BY stamp DESC

LIMIT之后附加该条款ORDER BY


查看完整回答
反对 回复 2019-07-31
  • 3 回答
  • 0 关注
  • 493 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信