选择具有更多值的值

时间:2016-04-19 23:50:01

标签: sql mariadb

我们说我有一张像这样的桌子:

     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

1 个答案:

答案 0 :(得分:2)

这听起来像聚合。像这样:

select a
from t
group by a
having sum(B = 'O') > sum(b = 'P');