Mysql查询的执行顺序


顺序:

  • 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日之后的数据
  • 最后把这些数据通过购买的商品数降序排列得到最终的数据结果

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM