我有一个表,其中 A 列和 B 列具有某种关系。 该关系的定义规则是:A 列为 X 的所有行中 B 列的大多数为 Y。
表格可能如下所示:
| columnA | columnB |
+---------+----------+
| Katze | Cat |
| Katze | Cat |
| Katze | hkjhkj |
| Katze | Cat |
| Hund | Dog |
| Hund | Dog |
| Hund | werw |
如何在这里找到不适合的第 3 行和第 7 行?
最佳答案
您可以做的是计算每对存在的次数,如下所示:
SELECT columnA, columnB, COUNT(*) AS numAppearances
FROM myTable
GROUP BY columnA, columnB;
如果您只想查看出现一次的行,请使用 HAVING 子句来获取这些行:
SELECT columnA, columnB, COUNT(*) AS numAppearances
FROM myTable
GROUP BY columnA, columnB
HAVING COUNT(*) = 1;
这是一个SQL Fiddle示例。
关于mysql - 查找表中没有关系的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29953145/