有一个users users
表
+----+---------+------------+
| id | login | ip |
+----+---------+------------+
| 1 | user1 | 127.0.0.1 |
| 2 | user2 | 127.0.0.1 |
+----+---------+------------+
等等。
必须选择具有1个ip
的所有用户。
SELECT u1.id, u1.login, u1.ip FROM users AS u1 LEFT JOIN users as u2 ON u1.ip = u2.ip;
我试着去做,它不起作用,不是我需要选择的。
发布于 2021-03-03 09:46:37
WITH cte AS ( SELECT *, COUNT(*) OVER (PARTITION BY ip) cnt
FROM source_table )
SELECT * FROM cte WHERE cnt > 1
对于MySQL 5.x使用
SELECT *
FROM source_table t1
WHERE EXISTS ( SELECT NULL
FROM source_table t2
WHERE t1.ip = t2.ip
AND t1.id != t2.id )
https://stackoverflow.com/questions/66454425
复制相似问题