1

値がmysql列に表示される頻度に基づいてデータを並べ替え、それらを作成する方法はありますかDISTINCT. したがって、次のようなテーブルに色の列があった場合:

colors
------ ----
red   |
blue  | 
red   |
green |
blue  |
red   |
yellow|
blue  |
green |
red   |

結果は次のようになります。

red
blue
green
yellow

赤が 4 回、青が 3 回、緑が 2 回、黄色が 1 回出現したためです。ありがとう

4

2 に答える 2

6

レコードをグループ化してから、適切な集計関数で並べ替える必要があります。

SELECT colors FROM my_table GROUP BY colors ORDER BY COUNT(*) DESC

sqlfiddleで参照してください。

于 2013-04-29T17:08:57.187 に答える
1

グループ化/カウントされたクエリを使用します。

SELECT color, count(color) AS cnt
FROM colors
GROUP BY color
ORDER BY cnt DESC
于 2013-04-29T17:10:08.927 に答える