Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何从“Case-When”条件计数_Mysql_Sql_Phpmyadmin - Fatal编程技术网

Mysql 如何从“Case-When”条件计数

Mysql 如何从“Case-When”条件计数,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我希望有人能为我的案子提供帮助: 当我的sql代码中出现以下情况时,如何从我的案例中计数: SELECT CASE WHEN datediff( b.`DATE` , A.`SUBMIT_DATE` ) >3 THEN 'NOK' ELSE 'OK' END AS STATUS FROM complaint a LEFT JOIN handling b ON a.cid = b.cid 应该是这样的:D哈哈: Select status,count(*) From ( SELECT C

我希望有人能为我的案子提供帮助:

当我的sql代码中出现以下情况时,如何从我的案例中计数:

SELECT CASE WHEN datediff( b.`DATE` , A.`SUBMIT_DATE` ) >3
THEN 'NOK'
ELSE 'OK'
END AS
STATUS FROM complaint a
LEFT JOIN handling b ON a.cid = b.cid

应该是这样的:D哈哈:

Select status,count(*)
From 
(
SELECT CASE WHEN datediff( b.`DATE` , A.`SUBMIT_DATE` ) >3 THEN 'NOK' ELSE 'OK' END AS STATUS FROM complaint a LEFT JOIN handling b ON a.cid = b.cid
) a
Group by status
尝试下面的查询-

SELECT CASE WHEN DATEDIFF( b.`DATE` , A.`SUBMIT_DATE` ) >3 THEN 'NOK' ELSE 'OK' END AS mystatus, 
SUM(IF(DATEDIFF( b.`DATE` , A.`SUBMIT_DATE` ) >3,1,0)) AS cnt 
FROM complaint a
LEFT JOIN handling b ON a.cid = b.cid 
GROUP BY mystatus;
或者,您可以将statusOK、NOK转换为不同的列:

SELECT   
   COUNT CASE WHEN datediff( b.`DATE` , A.`SUBMIT_DATE` ) >3 THEN 1 END) AS 'NOK',
   COUNT CASE WHEN datediff( b.`DATE` , A.`SUBMIT_DATE` ) <=3 THEN 1 END) AS  'OK' 
FROM complaint a LEFT JOIN handling b ON a.cid = b.cid
按状态从投诉组中选择status,COUNT*,您是否尝试过此操作
SELECT   
   COUNT CASE WHEN datediff( b.`DATE` , A.`SUBMIT_DATE` ) >3 THEN 1 END) AS 'NOK',
   COUNT CASE WHEN datediff( b.`DATE` , A.`SUBMIT_DATE` ) <=3 THEN 1 END) AS  'OK' 
FROM complaint a LEFT JOIN handling b ON a.cid = b.cid