【问题标题】:Count number of records based on unique username根据唯一用户名计算记录数
【发布时间】:2014-04-08 10:14:40
【问题描述】:

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

username ip
user1 12345
user2 12345
user3 11111

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

11111 1
12345 2

我还想按最少到最多排序,这样我可以看到 ip 12345 有 2 个与之关联的帐户,而 11111 有 1 个与之关联的帐户。

谢谢!

【问题讨论】:

标签: mysql sql


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    这里有一个SQL Fiddle 来说明您的需求。

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

    GROUP BY 允许您通过ip 汇总数据。如果username 列上定义了UNIQUE 约束,则不需要DISTINCT

    【讨论】:

      猜你喜欢
      • 2021-05-19
      • 1970-01-01
      • 2021-04-06
      • 2021-07-31
      • 2021-08-05
      • 1970-01-01
      • 2021-03-24
      • 2017-07-30
      • 2021-02-22
      相关资源
      最近更新 更多