gpt4 book ai didi

php - 不同和组 SQL 查询

转载 作者:行者123 更新时间:2023-11-29 14:56:54 25 4
gpt4 key购买 nike

我有一个有点复杂的 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 |

我想要一个只针对每个唯一 ID 或 IP 获取 1 个项目的查询,因此:

4BF1510 | 40.145.10.99
510SD55 | 65.12.105.42
984AZ6C | 72.98.45.76
| 10.15.78.10
B1D56SX |

最重要的事情:

  • 如果多个条目具有相同的 IP 和相同的 ID -> 它们将被分组
  • 如果多个条目具有相同的 IP 但不同的 ID -> 它们不会被分组
  • 如果多个条目具有相同的 ID 但不同的 IP -> 它们将被分组
  • 如果多个条目具有相同的 IP,但 ID 字段为空 -> 它们将被分组
  • 如果多个条目具有相同的 ID,但 IP 字段为空 -> 它们将被分组

这意味着该ID应该具有第一信任优先级,因为多个用户可能使用同一个IP。

有什么有效的方法可以实现这一目标吗?

非常感谢。

最佳答案

您想要做的事情可以使用 group_contact 来完成.

示例

SELECT id, GROUP_CONCAT(ip) as ips FROM logs group by id

编辑:忘记分组依据

关于php - 不同和组 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4379559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com