繁体   English   中英

SQL列出列A出现多次但具有不同列B值的所有行

[英]SQL list all rows where column A appears more than once but have distinct Column B values

我有两列例如,我想列出所有行,其中ROW A中的项目在A列中出现不止一次,但在B列中有不同的值。到目前为止,我还没有想出答案

Column A     Column B
Apple         x
Banana        a
Orange        b
Orange        b
Banana        x
Avocado       d

试试这个查询:

SELECT ColumnA
FROM table t
GROUP BY ColumnA
HAVING COUNT(DISTINCT ColumnB) >= 2;

另一种可能更有效的HAVING子句是:

HAVING MIN(ColumnB) <> MAX(ColumnB)

试试这个查询:

SELECT ColumnA
FROM mytable 
GROUP BY ColumnA
HAVING COUNT(*) > 1 AND COUNT(DISTINCT ColumnB) = COUNT(*)
  • 如果ColumnA值出现多次,则HAVING子句中的第一个谓词为true。
  • 如果ColumnB中的所有值在ColumnA组中是不同的,则第二个谓词为true。

SQL小提琴演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM