2012-05-15 123 views
0

我正在使用三個查詢在mysql的語句中使用WHERE條件 例如,如何使這個作爲一個單一的查詢如何使用case語句在MySQL

SELECT COUNT(*) as A FROM tbl_user WHERE (b=1 AND c=0) AND (d=1 AND e=1) 
SELECT COUNT(*) as M FROM tbl_user WHERE (H=1 AND I=0) AND (J=1 AND K=1) 
+2

Capslock =壞。不要濫用它。 – ThiefMaster

+0

我只看到2個查詢 – Bono

回答

0

你並不需要一個CASE語句來做到這一點(雖然它可能會在一定程度上更容易比使用IF如果條件包含OR s到讀),其目的是與IF更好的輸送:

SELECT SUM(IF(b=1 AND c=0 AND d=1 AND e=1, 1, 0)) AS A, 
     SUM(IF(H=1 AND I=0 AND J=1 AND K=1, 1, 0)) AS M 
FROM tbl_user 
+0

@riz:不要說謝謝,接受其中一個答案(點擊旁邊的檢查)。 – Romain

1
SELECT 
sum(case when (b=1 AND c=0) AND (d=1 AND e=1) then 1 else 0 end) as CountA, 
sum(case when (H=1 AND I=0) AND (J=1 AND K=1) then 1 else 0 end) as CountM 
FROM tbl_user 
+0

非常感謝Romil – riz