如何计算MySQL中销量最好的产品?

时间:2016-11-23 09:17:53

标签: php mysql sql

假设我的这张表有订单行:

ORDER_LINES
- id
- order_id
- product_id
- 数量

它包含每个订单的所有行,其中包含 x 的产品 y

现在我想计算出这些产品最畅销的订单行。我正在尝试编写一个有效地执行此操作的查询。

也许类似的东西?这只是猜测。

SELECT DISTINCT product_id, COUNT(SUM(quantity)) as q FROM order_lines ORDER BY q DESC

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

虽然"最畅销"是主观的我将其视为所有给定订单的最畅销产品。在这种情况下,您需要使用SUM进行Group By,它会为您提供查询。

SELECT product_id, SUM(quantity) As MostSold 
FROM order_lines 
Group By product_id
ORDER BY MostSold  DESC

如果您希望每种产品的订单数量最多,那么您可以选择

SELECT product_id, Count(product_id) As MostSold 
FROM order_lines 
Group By product_id
ORDER BY MostSold  DESC