2013-04-29 3 views
0

есть способ заказать данные в зависимости от того, как часто значения появляются в столбцах mysql, а также делают их DISTINCT. Так что если есть столбец цвет в таблице, как это:заказывать mysql результаты по большинству распространенных значений

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

результаты будут:

red 
blue 
green 
yellow 

, как красный цвет появился в 4 раза, синий 3 раза зеленый и желтый дважды один раз. Благодаря

ответ

4

Вы должны групп ваших записей, затем сортировать по подходящим aggregate function:

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

Посмотрите на sqlfiddle.

+0

отличный. Огромное спасибо. даже не знал, что есть sqlfiddle :) – user2014429

1

Используйте сгруппированных/подсчитываются запрос:

SELECT color, count(color) AS cnt 
FROM colors 
GROUP BY color 
ORDER BY cnt DESC 
Смежные вопросы