首页 > 解决方案 > 在 Sql 中按子句分组并过滤选项,

问题描述

我正在编写代码,列将类似于

Col1 Col2 Col3
10    1    A
10    2    B
11    3    C
11    4    c

所以我按 Col1 分组,无论 Col3 = A,我都需要 Col1 的全部信息。所以在上面的例子中,我希望输出为

Col1 col2 col3
10    1    A
10    2    B

有人可以帮忙吗。

提前致谢

标签: sqlgroup-by

解决方案


您可以使用EXISTS和相关子查询来检查是否存在具有相同col1和 acol3的行'A'

SELECT *
       FROM elbat t1
       WHERE EXISTS (SELECT *
                            FROM elbat t2
                            WHERE t2.col1 = t1.col1
                                  AND t2.col3 = 'A');

推荐阅读