Php 独特的;组SQL查询

Php 独特的;组SQL查询,php,mysql,distinct,Php,Mysql,Distinct,我有一个有点复杂的MySQL查询,我不知道如何编写它而不消耗大量内存。(我真的不介意它会不会) 我有下表: TABLE: users(id,ip) ------------------------------------ 4BF1510 | 40.145.10.99 <-- SAME IP (A) SAME ID --> 510SD55 | 65.12.105.42 SAME ID --&g

我有一个有点复杂的MySQL查询,我不知道如何编写它而不消耗大量内存。(我真的不介意它会不会)

我有下表:

              TABLE: users(id,ip)
              ------------------------------------
              4BF1510 | 40.145.10.99 <-- SAME IP (A)
SAME ID   --> 510SD55 | 65.12.105.42 
SAME ID   --> 510SD55 | 45.184.15.10
              201505V | 40.145.10.99 <-- SAME IP (A)
              984AZ6C | 72.98.45.76
                      | 10.15.78.10  <-- SAME IP (B)
                      | 10.15.78.10  <-- SAME IP (B)
SAME ID   --> B1D56SX |  
SAME ID   --> B1D56SX |  
最重要的是:

  • 如果多个条目具有相同的IP和相同的ID->它们将被分组
  • 如果多个条目具有相同的IP但ID不同->则不会对它们进行分组
  • 如果多个条目具有相同的ID但不同的IP->它们将被分组
  • 如果多个条目具有相同的IP,但ID字段为空->它们将被分组
  • 如果多个条目具有相同的ID,但IP字段为空->它们将被分组
这意味着ID应该具有信任的第一优先级,因为多个用户可能使用相同的IP

有什么有效的方法可以做到这一点吗


非常感谢。

您想做的事情可以通过使用来完成

范例

按id从日志组中选择id,组\u CONCAT(ip)作为ip


编辑:忘记分组依据

此表上的键是什么?我很困惑,你怎么会有两个不同的条目,都没有ID,都是相同的IP。我怀疑你的模式需要更改。也许ip应该在另一个由主键链接的表中。你是这个星球上最了不起的人,你救了我很多年!
4BF1510 | 40.145.10.99
510SD55 | 65.12.105.42
984AZ6C | 72.98.45.76
        | 10.15.78.10
B1D56SX |