有没有办法根据值出现在mysql列中的频率来订购数据,并使它们成为 DISTINCT . 所以,如果表中有一个颜色列,如下所示:
DISTINCT
colors ------ ---- red | blue | red | green | blue | red | yellow| blue | green | red |
结果将是:
red blue green yellow
红色出现4次,蓝色3次绿色两次,黄色一次 . 谢谢
您需要对记录进行分组,然后对合适的aggregate function进行排序:
SELECT colors FROM my_table GROUP BY colors ORDER BY COUNT(*) DESC
在sqlfiddle上看到它 .
使用分组/计数查询:
SELECT color, count(color) AS cnt FROM colors GROUP BY color ORDER BY cnt DESC
2 回答
您需要对记录进行分组,然后对合适的aggregate function进行排序:
在sqlfiddle上看到它 .
使用分组/计数查询: