我有下面提到的表:
ID Val1
1 AVD1R
1 ART1R
2 CFD4E
3 DER1R
3 DER1F
我想获取那些使用相同
ID
多次使用相同Val1
的记录。要求的输出:
ID Val1
1 AVD1R
1 ART1R
3 DER1R
3 DER1F
我已经试过了:
select id, Val1 from Table1 where count(Val1)>1 group by id;
但这没用。 最佳答案
抱歉,我将答案更改为:
SELECT t1.* FROM Table1 t1
INNER JOIN Table1 t2
ON t1.id=t2.id AND t1.VAl1 <> t2.Val1;
样品
MariaDB [bernd]> select * from Table1;
+----+-------+
| id | VAl1 |
+----+-------+
| 1 | AVD1R |
| 1 | ART1R |
| 2 | CFD4E |
| 3 | DER1R |
| 3 | DER1F |
+----+-------+
5 rows in set (0.00 sec)
MariaDB [bernd]> SELECT t1.* FROM Table1 t1
-> INNER JOIN Table1 t2 ON t1.id=t2.id AND t1.VAl1 <> t2.Val1;
+----+-------+
| id | VAl1 |
+----+-------+
| 1 | ART1R |
| 1 | AVD1R |
| 3 | DER1F |
| 3 | DER1R |
+----+-------+
4 rows in set (0.00 sec)
MariaDB [bernd]>
关于mysql - 如何在特定列Mysql中查询相同ID具有不同值的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49465688/