标题可能有些令人困惑,但我将尝试解释我要做的事情。
我有一个MySQL表,其中我需要的字段是:
- poster_ip
- poster_id
SELECT *
FROM NAME_OF_TABLE
INNER JOIN (
SELECT poster_ip
FROM NAME_OF_TABLE
GROUP BY poster_ip
HAVING COUNT( poster_ip ) >1
)dup ON NAME_OF_TABLE.poster_ip = dup.poster_ip
如果它没有进行优化或对数据库服务器造成了巨大负载,我并不太关心,因为这不是我的问题。它能正常工作。此外,我需要“SELECT *”,因为我需要查看整行。
现在有一个棘手的部分(至少对我来说):我需要查询仅返回“poster_ip”的重复项,其中不同的“poster_id”使用相同的“poster_ip”。也就是说,我需要检查是否有不同的“poster_id”正在使用相同的“poster_ip”。
我认为这种事情是可能的,但我无法理解。你能帮帮我吗?谢谢。
SELECT DISTINCT t1.poster_id, t1.poster_ip
吗? - JimmyB