MySQL - 比较组内的行
MySQL - Compare rows within group
使用 MySQL,我需要根据特定字段比较同一组内的行和 return 不匹配的行。
例如,假设我有以下 table:
cust
note
1
foo0
2
foo1
2
foo2
3
foo3
3
foo3
3
foo4
我需要 return 所有具有相同 ID 但具有不同音符值的行。上面 table 的结果输出应该是:
cust
note
2
foo1
2
foo2
3
foo3
3
foo4
我将如何实现这个目标?
提前致谢!
你可以为此使用子查询
SELECT DISTINCT `cust`, `note` FROM tabl2 WHERE cust IN (SELECT Cust FROM tabl2 GROUP BY cust HAVING COUNT(DISTINCT note) > 1)
cust | note
---: | :---
2 | foo1
2 | foo2
3 | foo3
3 | foo4
db<>fiddle here
使用 MySQL,我需要根据特定字段比较同一组内的行和 return 不匹配的行。
例如,假设我有以下 table:
cust | note |
---|---|
1 | foo0 |
2 | foo1 |
2 | foo2 |
3 | foo3 |
3 | foo3 |
3 | foo4 |
我需要 return 所有具有相同 ID 但具有不同音符值的行。上面 table 的结果输出应该是:
cust | note |
---|---|
2 | foo1 |
2 | foo2 |
3 | foo3 |
3 | foo4 |
我将如何实现这个目标?
提前致谢!
你可以为此使用子查询
SELECT DISTINCT `cust`, `note` FROM tabl2 WHERE cust IN (SELECT Cust FROM tabl2 GROUP BY cust HAVING COUNT(DISTINCT note) > 1)
cust | note ---: | :--- 2 | foo1 2 | foo2 3 | foo3 3 | foo4
db<>fiddle here