MySQL重复排序首先排在前面

swo*_*der 2 mysql sql select

我有一个lammer问题,因为我不是mysql的专业人士

我有像这样的领域

   id    color
   1     red
   2     green
   3     yellow
   4     green
   5     green
   6     red
Run Code Online (Sandbox Code Playgroud)

我想按重复项进行分组,并且最常重复,因此应该以这种方式选择:

   id    color
   2     green
   4     green
   5     green
   1     red
   6     red
   3     yellow
Run Code Online (Sandbox Code Playgroud)

谢谢

Joh*_*Woo 8

"......最常重复."

查询,

SELECT  a.*
FROM    TableName a
        INNER JOIN 
        (
            SELECT  Color, COUNT(*) totalCount
            FROM    TableName
            GROUP   BY Color
        ) b ON  a.Color = b.Color
ORDER   BY b.TotalCount DESC, a.ID ASC
Run Code Online (Sandbox Code Playgroud)

OUTPUT

???????????????
? ID ? COLOR  ?
???????????????
?  2 ? green  ?
?  4 ? green  ?
?  5 ? green  ?
?  1 ? red    ?
?  6 ? red    ?
?  3 ? yellow ?
???????????????
Run Code Online (Sandbox Code Playgroud)