通过使用 SQlite,我想获取在特定列中仅显示一个不同值的所有行。如下表所示:
A B
1 2
2 1
3 2
4 3
5 1
6 1
7 2
8 4
9 2
在这里,我只想获得第 Nr 行。4 和 8,因为值(3 和 4)在整个列中仅出现一次。
您可以使用这样的查询:
SELECT *
FROM mytable
WHERE B IN (SELECT B FROM mytable GROUP BY B HAVING COUNT(DISTINCT A)=1)
请在此处查看小提琴。
子查询将返回仅存在一次的所有 B 值(您也可以HAVING COUNT(*)=1
在这种情况下使用),外部查询将返回子查询返回 B 的所有行。