我有一个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
它没有用,是否有某种方法可以做到这一点?
答案 0 :(得分:3)
这将显示销售产品的前十名,
SELECT name, SUM(amount) totalAmount
FROM ordered_products
GROUP BY name
ORDER BY totalAmount DESC
LIMIT 10
为了获得更好的效果,请在列name
上提供索引。
答案 1 :(得分:0)
Select top 10 name, sum(amount)
from ordered_products
group by name
order by sum(amount ) desc
它应该工作。 ;)你只需要显示你在计算的金额。不仅仅是它的订单。 *不会为你做。