2010-09-30 32 views
0

我有兩個選擇查詢的選擇:與同一列兩項

SELECT MONTH(date) AS month, count(DISTINCT ip) 
FROM table_name WHERE field = 1 GROUP BY month 

SELECT MONTH(date) AS month, count(DISTINCT ip) 
FROM table_name WHERE field = 2 GROUP BY month 

我怎麼能寫一個查詢來選擇

SELECT MONTH(date) AS month, 
     count(DISTINCT ip) [ for field = 1], 
     count(DISTINCT ip) [ for field = 2] 

回答

5
SELECT MONTH(date) AS month, 
     count(DISTINCT case when field = 1 then ip end) as f1, 
     count(DISTINCT case when field = 2 then ip end) as f2 
FROM table_name 
WHERE field in (1,2) 
GROUP BY month 
+0

感謝我不知道什麼時候,然後'systax。 – jcubic 2010-09-30 16:35:46