针对不同条件计算单列

Som*_*luk 6 php mysql sql codeigniter

对于不同的条件,我需要在单列上有3种不同的计数.

表结构:

interview-
id-int(10)
c_id-int(10)
experience-varchar2(100)
Run Code Online (Sandbox Code Playgroud)

经验有3个不同的值 - 1)正2)负3)中立

对于c_id = 10的条件,我需要3个不同的"count_positive","count_negative"和"count_neutral"计数.

我知道它可以通过3个不同的查询获得.我可以通过单个查询获得3个计数吗?

Ada*_*ger 7

SELECT
   SUM(CASE experience
          WHEN 'positive' THEN 1
          ELSE 0
       END) AS CountPositive
   , SUM(CASE experience
            WHEN 'negative' THEN 1
            ELSE 0
         END) AS CountNegative
   , SUM(CASE experience
            WHEN 'neutral' THEN 1
            ELSE 0
         END) AS CountNeutral
FROM Interview
WHERE c_id = 10
Run Code Online (Sandbox Code Playgroud)