【问题标题】:Search PHPMYADMIN Database for similar entrys在 PHPMYADMIN 数据库中搜索类似条目
【发布时间】:2012-09-08 18:12:46
【问题描述】:

所以我有一个名为 users 的表的数据库。在该表中有一个名为 IP 的列,我想找到具有相同 IP 的用户并禁止他们。那么如何在数据库中搜索 IP 是一样吗?

【问题讨论】:

    标签: sql database search phpmyadmin


    【解决方案1】:

    您应该通过查询来利用组。我写的一个老博客是Understanding group bys

    但基本上这应该可以工作:

    select distinct ip, count(id) from users group by IP having count(id) > 1
    

    这将返回计数> 1的所有IP地址

    【讨论】:

      【解决方案2】:

      运行 SQL 语句并替换您要搜索的 IP 地址:

      SELECT * FROM users WHERE IP = '172.0.0.1'
      

      【讨论】:

      • 我不想搜索某个 IP 我想搜索相同的 IP
      【解决方案3】:

      你可以从:

      SELECT count(id) FROM tablename
      GROUP BY IP
      

      然后您只需将这些结果连接回表格即可获取有关重复项的信息

      所以修改第一条语句: SELECT count(id) as number, IP FROM tablename

      然后

         SELECT a.id, a.name FROM tablename a
         JOIN (
              SELECT count(id) as number, IP FROM tablename
          ) b ON a.IP = b.IP
          WHERE number > 1
      

      这应该会为您提供数据库中所有重复的 IP 地址。您可能需要找到一种方法来决定保留哪个帐户以及删除哪个帐户,但这应该是您的一个开始。

      【讨论】:

      • 我的表名是用户,列名是IP
      • 我得到 #1054 - '字段列表'中的未知列 'a.name'
      • 请列出该表中的所有列,我将给您说明。 A.name 只是表中别名为“a”的列(我猜这就是名称)。您可以将表用户中的任何列名放在那里(前面有“a.”),它会起作用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-19
      • 1970-01-01
      • 1970-01-01
      • 2020-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多