MySql两个子请求计数调用

时间:2013-05-13 02:42:01

标签: mysql count

大家好,我的代码有问题:

SELECT 

(SELECT count( * ) FROM _mark_as WHERE value =2) AS bad, 
(SELECT count( * ) FROM _mark_as WHERE value =1) AS good

FROM `_mark_as`

它做什么,它计算所有“好”和“坏”的值但是,它调用_mark_as中的每个条目并且它不对。我想进行单个调用,返回一个条目:

# good # bad #
##############
#  2   #  2  #
##############

请帮帮忙。

PS:分组不是出路。因为首先将完成选择(对于所有条目),然后才会被分组应用。

1 个答案:

答案 0 :(得分:1)

SELECT 
    Sum(CASE WHEN value = 2 THEN 1 ELSE 0 END) as bad,
    Sum(CASE WHEN value = 1 THEN 1 ELSE 0 END) as good
FROM _mark_as