1

注文したすべての製品が含まれる、ordered_products テーブルがあります。trouser1 という製品があるとします。たとえば、order1 と order2 があり、両方の注文に trouser1 が含まれている場合、ordered_products に追加されます。

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

ここで、販売された製品のトップ 10 リストを作成したいと考えていますが、同じ製品をテーブルに 1 回表示する必要がありますが、金額は一緒に加算されます。

私は次のようなものを試しました:

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 に答える