У меня есть столбец в таблице mysql, который имеет тип данных INT (11).count 10 самых распространенных значений в столбце в mysql
Как я могу найти 10 самых популярных значений в этом столбце?
У меня есть столбец в таблице mysql, который имеет тип данных INT (11).count 10 самых распространенных значений в столбце в mysql
Как я могу найти 10 самых популярных значений в этом столбце?
SELECT col, count(*)
FROM tablethingie
GROUP BY col
ORDER BY count(*) DESC
LIMIT 10
Try:
SELECT ColName, Count(1) AS occurances
FROM
table
GROUP BY
ColName
ORDER BY
occurances DESC
LIMIT
10
TOP является ключевым словом, которое не поддерживается в MySQL, то в MSSQL, хотя.
Это следующий запрос должен делать то, что вы хотите (не проверялось, но идея должна проясниться):
SELECT column, COUNT(*) AS matches
FROM table
GROUP BY column
ORDER BY matches DESC
LIMIT 10
Досрочно проголосовало против проголосовавшего; так как, насколько я могу судить, ваш ответ одинаково справедлив ко всем остальным. Я действительно желаю, чтобы нисходящие избиратели * объяснили * их нисходящие голоса. Таким образом мы можем чему-то научиться. –
ricebowl, объяснил бы это? - http://stackoverflow.com/revisions/1831456/list - ответ был отредактирован, чтобы подражать другим после того, как был downvoted ;-) –
Действительно, потому что я увидел ошибку в своем ответе, поэтому я исправил ее. Таким образом, предоставляются правильные ответы, а не неработающие. Сохранение высокого качества ответов на вопрос. – Ben
Попробуйте следующий код
SELECT colname, COUNT(*) AS cnt
FROM tablename
GROUP BY colname
ORDER BY cnt DESC
LIMIT 10
FLAGGED мой ответ для удаления (-: Это возможно использовать count (col), а не count (*)? Hmm, и который более эффективен ... – Murph
Ок, я думаю, вы первыми изменили mysql :-), я удаляю так и проголосовал за это. – Peter
count (col) будет считать ненулевые значения. Так как col - это то, что мы группируем, то все равно. count (*) эквивалентно счету (1), но обычно рекомендуется по отношению к последнему. count (*) считается наиболее эффективным из всех, если это именно то, что вам нужно. –