码迷,mamicode.com
首页 > 数据库 > 详细

Mysql查询的执行顺序

时间:2019-08-27 12:31:01      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:where   order by   排列   数据   sum   指定   pre   获取   顺序   

顺序:

  • FROM
  • JOIN
  • ON
  • WHERE
  • GROUP BY (从此处开始可以使用select中指定的别名)
  • AVG、SUM、MAX
  • HAVING
  • SELECT
  • DISTINCT
  • ORDER BY
select  
   sum(goods.number)  
from order 
left join goods on goods.order_id = order.id 
where 
  order.status=1 
  group by order.user_id 
  having order.add_time > ‘2019-08-27 00:00:00‘
  order by goods.number desc

 

  • 首先从订单表order里面获取数据
  • 然后通过left join与订单商品表相连接成一个字段更多的表
  • 通过where筛选出订单状态为1的数据
  • group by通过用户分组,求得用户的购买商品数量和
  • 在上述筛选的数据中,选择订单创建时间在2019年08月27日之后的数据
  • 最后把这些数据通过购买的商品数降序排列得到最终的数据结果

 

Mysql查询的执行顺序

标签:where   order by   排列   数据   sum   指定   pre   获取   顺序   

原文地址:https://www.cnblogs.com/UniqueColor/p/11417553.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!