1

最も売れた 5 つの記事を選択したいと考えています。

SELECT ID, shop, article_nr, count(*) as count
FROM table
GROUP BY shop, article_nr
ORDER BY count DESC
LIMIT 5

このクエリの結果:

ID | shop   | article_nr | count
--------------------------------------
71 | amazon | 123        | 280
98 | amazon | 223        | 170
35 | amazon | 323        | 99
7  | ebay   | 456        | 71
11 | amazon | 789        | 49
4  | ebay   | 032        | 10

この結果を 2 番目のステップで列「ショップ」でグループ化する方法 (おそらくクエリを編集します)?

これは次のようになります (上位 5 位に「1 つの」ショップのみ):

ID | shop       | article_nr  | count
--------------------------------------
71 | amazon     | 123         | 280
7  | ebay       | 456         | 71
.. | shop_x     | ...         | 55
.. | shop_y     | ...         | 40
.. | shop_z     | ...         | 37

誰かが私を助けることができますか?

4

2 に答える 2

0

あなたの問題に対する人気があり、よく説明されている答えはここにあります:https://stackoverflow.com/a/612268/1803682

具体的には、(他の列)で異なるAggregateFunction(列)を選択するにはどうすればよいですか

SQL Fiddle でこれを試して投稿したい場合は、喜んでお手伝いします。

于 2013-09-05T17:03:04.013 に答える