1

我有一个ordered_products 表,其中包含所有订购的产品。假设我有一个名为 trouser1 的产品。例如,当我有 order1 和 order2 并且这两个订单中都有 trouser1 时,它会添加到ordered_products:

order_id=1 name=trouser1 amount=1
order_id=2 name=trouser1 amount=1

现在我想列出销售产品的前 10 名,但相同的产品需要在我的表中显示一次,但数量加在一起。

我尝试了类似以下的方法:

SELECT *
FROM ordered_products
GROUP BY naam
ORDER BY aantal DESC
SUM(amount)
WHERE name NOT UNIQUE

它不起作用,有什么方法可以做到这一点吗?

4

2 回答 2

3

这将显示销售产品的前 10 名列表,

SELECT  name, SUM(amount) totalAmount
FROM    ordered_products
GROUP BY name
ORDER BY totalAmount DESC
LIMIT 10

为了获得更好的性能,请在 column 上提供索引name

于 2013-01-17T13:54:23.600 回答
0
Select top 10 name, sum(amount)
from ordered_products
group by name
order by sum(amount ) desc

它应该工作。;) 你只需要显示你正在计算的总和。不只是按它订购。*不会为你做。

于 2013-01-17T13:59:20.293 回答