-1

大家好,我对这段代码有疑问:

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:分组不是出路。因为首先将完成选择(对于所有条目),然后才会被应用分组。

4

1 回答 1

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
于 2013-05-13T02:44:45.253 回答