我有下面提到的表:

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/

10-11 01:50
查看更多