MySQL выбрать только две или более строк сгруппированы - PullRequest
0 голосов
/ 02 марта 2011

У меня есть таблица, содержащая два поля: ID и USERNAME.Как мне сделать запрос SELECT, который будет выбирать только строки с минимально сгруппированными двумя строками?

Это то, что внутри таблицы MySQL:

ID |Имя пользователя

1 |Питер
2 |домкрат
3 |Питер
4 |ann
5 |Питер
6 |jack

Я хочу выбрать в результате, как это:

peter (3)
jack (2)

Имя пользователя 'ann' будет игнорироваться при выборе, потому что этотолько одна строка.

Добавлено: Невозможно реализовать это в моей ситуации.Хорошо, я покажу, что именно хочу сделать, что-то вроде этого: (ВЫБЕРИТЕ ip AS ip1 ИЗ ip_denylist) UNION (ВЫБЕРИТЕ СЧЕТЧИК (пользователь) КАК sometotal ИЗ ВХОДОВ ГДЕ ip = ip1 И ИМЕЮЩИЙ СЧЕТ (sometotal)> 1) GROUP BYпользователь.

Но это не работает!Не могли бы вы показать, как это должно быть?

Идея этого выбора: first: для выбора каждого IP-адреса из таблицы ip_denylist , 2nd: выберите сгруппированные по пользовательские строки из таблицы входы с одинаковыми IP-адресами.

Ответы [ 2 ]

1 голос
/ 02 марта 2011
SELECT UserName, COUNT(UserName) AS sometotal FROM table
GROUP BY UserName HAVING COUNT(UserName) > 1
0 голосов
/ 02 марта 2011
select username,count(*) as numb 
from table 
group by username 
having numb > 1
order by numb desc
...