• 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日之后的数据
    • 最后把这些数据通过购买的商品数降序排列得到最终的数据结果
  • 相关阅读:
    26.列表的循环遍历
    效率比较--链表
    心之距离 再回首 光年之遥远
    效率比较--集合
    效率比较--数组
    哈希表
    栈 VS 队列
    struts1 标签引入
    web 连接池配置
    zip&ftp命令
  • 原文地址:https://www.cnblogs.com/UniqueColor/p/11417553.html
Copyright © 2020-2023  润新知