執行順序
- 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 > '2018-11-11 00:00:00'
order by goods.number desc
這是一個訂單關聯商品執行個體
- 首先從訂單表order裡面擷取資料
- 然後通過left join與訂單商品表相連接配接成一個字段更多的表
- 然後通過where篩選出訂單狀态為1的資料
- 然後group by通過使用者分組,求得使用者的購買商品數量和
- 然後在上述篩選的資料中,選擇訂單建立時間在18年11月11日之後的資料
- 最後把這些資料通過購買的商品數降序排列得到最終的資料結果