誰でも見つける方法を知っていますか? 私は3列を持っています
1-ID
2 - ユーザー名
3-IP
サンプルデータは次のとおりです。
+----+-----------+----------------+
| id | username | ip |
+----+-----------+----------------+
| 1 | John | 127.0.0.1 |
| 2 | John | 127.0.0.1 |
| 3 | John | 127.0.0.1 |
| 4 | John | 127.0.0.1 |
| 5 | John | 127.0.0.1 |
| 6 | John | 127.0.0.2 |
| 7 | John | 127.0.0.2 |
| 8 | John | 127.0.0.3 |
| 9 | John | 127.0.0.1 |
| 10 | John | 127.0.0.1 |
| 11 | John | 127.0.0.1 |
| 12 | Pit | 127.1.1.1 |
| 13 | Pit | 127.1.1.1 |
| 14 | Pit | 127.1.1.1 |
| 15 | Pit | 127.1.1.1 |
| 16 | Pit | 127.1.1.1 |
| 17 | Pit | 127.1.1.1 |
+----+-----------+----------------+
したがって、値のいずれかが重複している ip を見つけたい場合は、一意の値を見つけたいので、このクエリで見つけることができます。
SELECT distinct `username`, `ip` FROM `logs`
今、クエリの結果は
+----+-----------+----------------+
| id | username | ip |
+----+-----------+----------------+
| 1 | John | 127.0.0.1 |
| 7 | John | 127.0.0.2 |
| 8 | John | 127.0.0.3 |
| 12 | Pit | 127.1.1.1 |
+----+-----------+----------------+
それは良いですが、私が本当に欲しいものは何ですか?私はユーザー名のいずれかが重複したIPを持っていることを見つけたいので、結果は次のようにする必要があります:
+----+-----------+----------------+
| id | username | ip |
+----+-----------+----------------+
| 1 | John | 127.0.0.1 |
| 7 | John | 127.0.0.2 |
| 8 | John | 127.0.0.3 |
+----+-----------+----------------+
ピットには重複したIPがないため、結果からピットを削除するにはどうすればよいですか?