MySQL只选择两行或更多行进行分组

时间:2011-03-01 22:10:15

标签: mysql select group-by rows

我有一个包含两个字段的表:ID和USERNAME。如何制作SELECT查询,只选择最少两行分组的行?

这就是MySQL表中的内容:

ID |用户名

1 |彼得
2 |插孔
3 |彼得
4 |安
5 |彼得
6 |杰克

我想在结果中选择:

彼得(3)
杰克(2)

用户名'ann'将在选择中被忽略,因为它只有一行。

已添加:无法根据我的情况实施。好的,我将展示我想要做的事情,如下所示:( SELECT ip AS ip1 FROM ip_denylist)UNION(SELECT COUNT(user)AS sometotal FROM entrances WHERE ip = ip1 AND HAVING COUNT(sometotal)> 1)GROUP按用户。

但它不起作用!你能说明一下它是怎么回事吗?

此选择的想法是第一个: ip_denylist 表中选择每个IP地址,第二个选择按分组表入口中具有相同IP地址的用户行。

2 个答案:

答案 0 :(得分:1)

SELECT UserName, COUNT(UserName) AS sometotal FROM table
GROUP BY UserName HAVING COUNT(UserName) > 1

答案 1 :(得分:0)

select username,count(*) as numb 
from table 
group by username 
having numb > 1
order by numb desc