我有三個表: 之一:表order_infoMysql的子查詢太慢,查詢銷售數量
ordre_id int
add_time int
二:表order_goods
id int
goods_id int
order_id int
sale_number int
三:臺產品
goods_id int
goods_name varchar
現在我想要查詢商品銷售總數和這個數字的訂單,並且當商品沒有銷售數量時,笑用零表示。我使用子查詢,但它太慢,SQL是這樣的:
SELECT t.*
FROM goods AS tg
LEFT JOIN (
SELECT SUM(og.goods_number) AS total_num, g.goods_id, g.goods_name
FROM order_info oi
LEFT JOIN order_goods AS og ON oi.order_id=og.order_id
LEFT JOIN goods AS g ON g.goods_id=og.goods_id
WHERE oi.add_time>1415635200
) AS t ON t.goods_id=tg.goods_id
ORDER BY t.total_num DESC;
你可以有一些商品的想法?謝謝!