首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL查询中订单的执行顺序和限制

问MySQL查询中订单的执行顺序和限制
EN

Stack Overflow用户
提问于 2010-10-13 03:44:08
回答 4查看 2.8K关注 0票数 6

我有这样的查询,其中我想以分页格式显示已排序的记录。

这是我的问题。

代码语言:javascript
复制
SELECT * FROM answers
WHERE userid = '10'
ORDER BY votes LIMIT 10, 20

LIMIT的两个参数将用于生成逐页显示记录。现在,我的问题是ORDER BY。MySQL如何执行此查询?

第一条路

  • 根据过滤器选择记录
  • 对它们进行排序
  • 限制它们

第二条路

根据filters

  • Limit
  • 对记录进行排序

如果我认为像MySQL引擎,我会想实现第二,因为我将不得不排序较少的记录?

有人能给这件事放点光吗?

问候

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-10-13 03:49:47

SQL限制将在所有数据库中始终处理查询的结果,因此它将使用ORDER运行查询,然后该结果将受到限制。这是一个功能需求,数据库而不是perse需要这样执行。

这是第一条路。

票数 5
EN

Stack Overflow用户

发布于 2010-10-13 03:47:41

Mysql遵循第一条路。

票数 2
EN

Stack Overflow用户

发布于 2015-05-15 19:16:13

如果您想要第二种方式,请尝试使用带有限制的子查询,然后订购。

类似于:

代码语言:javascript
复制
SELECT * FROM
(
  SELECT * FROM answers
  WHERE userid = '10'
  LIMIT 10
)
ORDER BY votes
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3920627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档