подсчет повторных значений в базе данных - PullRequest
0 голосов
/ 13 марта 2012

Пример базы данных:

userid / value
887 / x
887 / y 
2313 / x
2313 / s
123 / e
2313 / i

Как я могу получить следующий ответ?

2313 / 3
887 / 2
123 / 1

Ответы [ 3 ]

4 голосов
/ 13 марта 2012
select userid, count(*)
from table_name
group by userid

edit: как сказал другой shrubbery, если вы заботитесь о порядке результатов, то:

select userid, count(*) as frequency
from table_name
group by userid
order by frequency desc
1 голос
/ 13 марта 2012

Использование group by с функцией агрегирования count()

0 голосов
/ 13 марта 2012

Если вы пытаетесь проверить количество значений для идентификатора пользователя, вы можете сделать это следующим образом:

select userid, count(value) as total
from table_name
group by userid
order by total desc

Если вы пытаетесь проверить различное количество значений для идентификатора пользователя, вы можете сделать это следующим образом:

select userid, count(distinct value) as total
from table_name
group by userid
order by total desc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...