假设我有一张订单行的桌子:
订单行
-身份证
-订单号
-产品id
-数量
它包含每个订单的所有行,其中包含产品y的数量x。
现在我想从这些订单行中计算出哪些产品最畅销。我正在尝试编写一个查询来有效地执行此操作。
也许是类似的?只是猜测而已。
SELECT DISTINCT product_id, COUNT(SUM(quantity)) as q FROM order_lines ORDER BY q DESC
有什么想法吗?
最佳答案
尽管“最畅销”是主观的,但我会将其视为所有给定订单的最畅销产品,在这种情况下,您需要使用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
关于php - 如何计算MySQL中最畅销的产品?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40760282/