MySQL查询中的多个嵌套if语句

MySQL查询中的多个嵌套if语句,mysql,Mysql,我正在尝试下面的查询,MySQL给了我这个错误:组函数的使用无效 SELECT C.`some_name`, SUM(IF(A.`med_type` = 1, SUM(A.`med_qty`), 0)) AS total, SUM(IF(A.`is_rejected` = 4, 1 , 0)) AS approved, SUM(IF(A.`is_rejected` = 2, 1 , 0)) AS qeue, SUM(IF(A.

我正在尝试下面的查询,MySQL给了我这个错误:组函数的使用无效

 SELECT C.`some_name`,
        SUM(IF(A.`med_type` = 1, SUM(A.`med_qty`), 0)) AS total,
        SUM(IF(A.`is_rejected` = 4, 1 , 0)) AS approved, 
        SUM(IF(A.`is_rejected` = 2, 1 , 0)) AS qeue, 
        SUM(IF(A.`is_rejected` = 3, 1 , 0)) AS rejected, 
        SUM(IF(A.`is_rejected` = 1, 1 , 0)) AS fresh
   FROM `ne_media` A
  INNER JOIN `ne_member` B ON A.`mem_id`  = B.`mem_id`
  INNER JOIN `ne_some`   C ON B.`some_id` = C.`some_id`
  GROUP BY C.`some_id`;
我想求和
med_数量
,只要
med_类型=1

我该怎么做

使用:

    SUM(CASE WHEN (A.`med_type` = 1) THEN A.`med_qty` ELSE 0 END)) AS total,
或:


你不能像在原版中那样对聚合进行聚合。

这是可行的,但实际上我需要的是med_数量的内容总和,而不是它们的数量。这是它们的返回计数!如果像在其他表达式中一样求和1或0,则会对它们进行计数,但是如果当
med\u type
为1时,对
med\u数量
值求和,如图所示,您应该会得到所需的值。
    SUM(IF(A.`med_type` = 1, A.`med_qty`, 0)) AS total,