-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 のすべてのエントリを呼び出しますが、正しくありません。私は1つのエントリを返す単一の呼び出しをしたい:

# 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 に答える