我希望有人能幫助,我的情況:如何從「情況當」數條件
如何從我的情況時開始計數狀態在我的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
我希望有人能幫助,我的情況:如何從「情況當」數條件
如何從我的情況時開始計數狀態在我的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;
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
GROUP BY CASE
WHEN datediff(b.`DATE` , A.`SUBMIT_DATE`) >3 THEN 'NOK'
ELSE 'OK'
END
或者,您可以打開狀態(OK,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
'SELECT狀態,COUNT(*)FROM投訴GROUP BY status'你試試這個 –