のは、私は、このテーブルがあるとしましょう:のMySQL:値の頻度順の行
+----+------+---------+
| Id | Item | Country |
+----+------+---------+
| 1 | b123 | Austria |
| 2 | a123 | Italy |
| 3 | b990 | Germany |
| 4 | h231 | Austria |
| 5 | y233 | France |
| 6 | u223 | Austria |
| 7 | p022 | Spain |
| 8 | d133 | Italy |
| 9 | w112 | Germany |
| 10 | j991 | Austria |
+----+------+---------+
私はそのテーブルの上にSELECT
を行い、Country
が最も繰り返されることにより、結果を注文したいです。 だから、期待される出力は次のようになります。
+----+------+---------+
| Id | Item | Country |
+----+------+---------+
| 1 | b123 | Austria |
| 4 | h231 | Austria |
| 6 | u223 | Austria |
| 10 | j991 | Austria |
| 2 | a123 | Italy |
| 8 | d133 | Italy |
| 3 | b990 | Germany |
| 9 | w112 | Germany |
| 5 | y233 | France |
| 7 | p022 | Spain |
+----+------+---------+
私はそれをどのように行うことができますか?
私はこの試みている:
SELECT * FROM items WHERE Item != '' GROUP BY Item HAVING COUNT(*) > 1 ORDER BY COUNT(*) DESC
をしかし、それはこのような何かを返します:AとBを結ぶことで
+----+------+---------+
| Id | Item | Country |
+----+------+---------+
| 1 | b123 | Austria |
| 8 | d133 | Italy |
| 3 | b990 | Germany |
| 5 | y233 | France |
| 7 | p022 | Spain |
+----+------+---------+
'SELECT'の後に' DISTINCT'キーワードを追加しようとしましたか? – Sablefoste