我有两张桌子:
1) product data
2) sales stats of these products
在表 2 中,我有每种产品每天的销售统计数据。我想获得过去 30 天内最畅销的产品。我通过以下查询实现了这一点:
SELECT sku
FROM prod_history
WHERE insert_date >= SUBDATE(CURDATE(), INTERVAL 31 DAY)
GROUP BY sku
ORDER BY SUM(number_of_orders) DESC
LIMIT 0, 10
此查询大约需要 4.5 秒。
现在我想将此查询结果与产品数据表 (1) 连接起来。
我为此使用以下查询,但得到的结果不正确。 我收到的结果往往不是最畅销的产品。
SELECT `prod_combined`.`sku`, `prod_combined`.`titel`, `prod_combined`.`preis_vk`, `prod_combined`.`link`
FROM `prod_combined`
WHERE (prod_combined.sku IN
(SELECT prod_combined.sku
FROM (SELECT sku FROM prod_history WHERE insert_date >= SUBDATE(CURDATE(), INTERVAL 31 DAY)
GROUP BY sku ORDER BY SUM(number_of_orders) DESC LIMIT 0 , 10
) q
JOIN prod_combined ON prod_combined.sku = q.sku )
)
AND (aktiv = 1) LIMIT 5
有没有办法在一个查询中获得所需的结果?
亲切的问候,麦克斯