我正在尝试做一个奇怪的SQL查询,我似乎无法弄清楚。我有以下架构:
username ip
user1 12345
user2 12345
user3 11111
我正在尝试计算每个用户的用户数。例如,它会报告给我
11111 1
12345 2
我想对此进行最少排序,以便我可以看到ip 12345有2个与之关联的帐户,而11111有1个与之关联的帐户。
谢谢!
答案 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
。