【问题标题】:Count duplicate columns and update the counter column计算重复列并更新计数器列
【发布时间】:2019-04-08 22:42:34
【问题描述】:
报告表列: 身份证 | ip地址 |计数 |类别

我有重复的 ipaddress 条目,我想计算每个 IP 的数量和 更新每个 IP 的计数列。

我可以像这样计算重复项

SELECT ipaddress, COUNT(*) FROM report GROUP BY ipaddress HAVING COUNT(*) > 1 ORDER BY COUNT(*) DESC 

输出

ipaddress 计数(*) 192.168.2.187 16 192.168.6.14 14 192.168.2.17 11 3192.168.3.6 9 192.168.2.77 8

我只需要用正确的计数更新每个 ip。

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    您可以在UPDATEJOIN,如下所示:

    UPDATE report r
      JOIN (SELECT ipaddress, COUNT(*) cnt FROM report GROUP BY ipaddress) up
        ON up.ipaddress = r.ipaddress
       SET r.`count` = up.cnt
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-30
      相关资源
      最近更新 更多