常用SQL语句
今天一个朋友问我,一个表有两个字段mac和ip,如何找出所有的mac相同而ip不同的记录?想了半天写出了下面的这个SQL语句。
mysql> select * from ip;
+-----+-----+
| mac | ip |
+-----+-----+
| abc | 123 |
| def | 456 |
| ghi | 245 |
| abc | 678 |
| def | 864 |
| abc | 123 |
| ghi | 245 |
+-----+-----+
7 rows in set (0.00 sec)
mysql> SELECT DISTINCT a.mac, a.ip
-> FROM ip a, ip b
-> WHERE a.mac = b.mac AND a.ip <> b.ip ORDER BY a.mac;
+-----+-----+
| mac | ip |
+-----+-----+
| abc | 678 |
| abc | 123 |
| def | 864 |
| def | 456 |
+-----+-----+
4 rows in set (0.00 sec)