2011-09-06 79 views
2

我有以下查詢:MySQL的合併多個計數查詢

SELECT COUNT(package) as advanced_count FROM users WHERE package = '2' AND site_url is  NOT NULL; 

我想要做的是有2個查詢,以獲得basic_count然後TOTAL_COUNT這是基本+高級。

我等基本的查詢是:

SELECT count(package) as basic_count FROM users WHERE package = '1' AND site_url is NOT NULL 

但我不知道如何將二者結合起來,以便它只是一個查詢,然後加在裏面添加總數爲好。

我希望有人能指出我正確的方向。

謝謝!

回答

4
SELECT SUM(CASE WHEN package = '2' THEN 1 ELSE 0 END) AS advanced_count, 
     SUM(CASE WHEN package = '1' THEN 1 ELSE 0 END) AS basic_count, 
     COUNT(*) AS total_count 
    FROM users 
    WHERE site_url IS NOT NULL 
     AND package IN ('1', '2'); 
+0

太棒了!謝謝! – Drew