根据唯一用户名计算记录数

时间:2014-03-06 01:52:09

标签: mysql sql

我正在尝试做一个奇怪的SQL查询,我似乎无法弄清楚。我有以下架构:

username ip
user1 12345
user2 12345
user3 11111

我正在尝试计算每个用户的用户数。例如,它会报告给我

11111 1
12345 2

我想对此进行最少排序,以便我可以看到ip 12345有2个与之关联的帐户,而11111有1个与之关联的帐户。

谢谢!

2 个答案:

答案 0 :(得分:3)

ip分组并将distinct添加到您的用户计数中,仅计算唯一名称

select ip, 
       count(distinct username) as unique_user_count
from your_table
group by ip

答案 1 :(得分:0)

以下是SQL Fiddle举例说明您需要的内容。

SELECT ip, COUNT(username) AS username_count
FROM `sample`
GROUP BY ip

GROUP BY可让您按ip汇总数据。如果DISTINCT列上定义了username约束,则不需要UNIQUE