Могу ли я получить наибольшее количество значений в базе данных MySQL? - PullRequest
3 голосов
/ 31 марта 2011

Я хочу отображать пользователя с наибольшим количеством сообщений.сообщения добавляются путем подсчета того, сколько раз их имя пользователя отображается в базе данных.Как я могу взять все элементы и проверить, какое значение отображается больше, чем другие?

Итак, моя база данных выглядит так:

id | username
1 | test
2 | test
3 | no test

"test" показывается чаще всего,как я мог сказать

highest poster: "test"

Ответы [ 3 ]

2 голосов
/ 31 марта 2011

Этот запрос возвращает username и количество вхождений, отсортированных в обратном порядке, поэтому первая запись - это запись с большим количеством вхождений:

select username, count(id) from tablename 
group by username
order by count(id) desc

UPDATE: Как указано thedugas и Джо Филлипсом , вы можете добавить к этому запросу предложение limit 1, чтобы получить только запись с наибольшим числом вхождений

1 голос
/ 31 марта 2011
select username, count(id) as uc
from tableName
group by username
order by uc desc
limit 1
0 голосов
/ 31 марта 2011
SELECT username
FROM mytable
GROUP BY username
ORDER BY COUNT(1) DESC
LIMIT 1
...