Mysql 如果一起使用SUM-CASE-IF,可以吗?

Mysql 如果一起使用SUM-CASE-IF,可以吗?,mysql,Mysql,当我尝试使用此选项时: SUM(CASE WHEN IF(SUM(CASE WHEN "b.count_students_status" = 1 THEN 1 ELSE 0 END) >= 1, 1, 0) = 1 THEN 1 ELSE 0 END) 它表示查询错误:组函数使用不当 以下是完整的代码: SELECT "a.batch" AS Batch, SUM( CASE WHEN IF( SUM( CASE

当我尝试使用此选项时:

SUM(CASE WHEN IF(SUM(CASE WHEN "b.count_students_status" = 1 THEN 1 ELSE 0 END) >= 1, 1, 0) = 1 THEN 1 ELSE 0 END)
它表示查询错误:组函数使用不当

以下是完整的代码:

   SELECT 
  "a.batch" AS Batch,
  SUM(
    CASE
      WHEN IF(
        SUM(
          CASE
            WHEN "b.count_students_status" = 1 
            THEN 1 
            ELSE 0 
          END
        ) >= 1,
        1,
        0
      ) = 1 
      THEN 1 
      ELSE 0 
    END
  ) AS Payments_Not_Received 
FROM
  "DBU - Complete" 
WHERE "a.suspended" = 'no' 
GROUP BY "a.batch" 
我想将状态转换为1,如果有多个事件,然后求和总事件数


有什么帮助吗?我正在使用ZOHO构建查询?

您试图在运行is之前引用
分组依据的结果。试着这样做:

select t.BATCH,
sum(case when t.pnr >=1 then 1 else 0 end) as Payments_Not_Received
from
(
select 
a.batch as BATCH,
SUM(CASE WHEN "b.count_students_status" = 1 THEN 1 
         ELSE 0 
    END) as pnr
from yourTable a
WHERE a.suspended = 'no'
group by a.batch
) t
group by t.BATCH;

嗨,汤姆,谢谢你的回答;但是,它仍然给出了一个错误“对不起,目前Zoho Reports不支持SELECT query in FROM子句”。请提供帮助?