如果组中至少有一个值满足条件,如何创建组?
这是一个 DB 表的示例 test
:
| ID | TYPE | COLOR |
|====|======|=======|
| 1 | 1 | R |
| 2 | 1 | B |
| 3 | 1 | G |
| 4 | 2 | B |
| 5 | 2 | G |
| 6 | 3 | G |
我需要全选
TYPE
具有多于一行的值,并且该 TYPE 的至少一个 COLOR 是 G。所以伪选择看起来像这样:
select TYPE
from test
group by TYPE
having count(*) > 1
and count(COLOR = 'G') > 0
最佳答案
随着 OP 的修改要求:
select type
from test
group by type
having count(*) > 1 and count(case when color = 'G' then 0 end) > 0
;
关于sql - GROUP BY 如果组中至少有一个值满足条件则创建组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44724678/