我们说我有一张像这样的桌子:
Table T:
A B
-------
1 x | O
2 x | O
3 x | P
4 y | O
5 y | P
6 y | P
7 z | O
8 z | O
9 z | P
我想选择A列中值B列中值较多的值。
例如,我想选择x,y或z,如果他们有更多的O,那么P' s。
我做了几次尝试,但老实说,我无法弄清楚如何做这样的事情。
那么,我该如何编写一个可以检索我想要的查询呢?
编辑:预期输出为:
A
-
1 x
2 z
答案 0 :(得分:2)
这听起来像聚合。像这样:
select a
from t
group by a
having sum(B = 'O') > sum(b = 'P');