一种使用列项计数的方法

时间:2013-01-17 13:52:30

标签: mysql sql select

我有一个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

它没有用,是否有某种方法可以做到这一点?

2 个答案:

答案 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

它应该工作。 ;)你只需要显示你在计算的金额。不仅仅是它的订单。 *不会为你做。