2012-05-24 62 views
0

我想從同一個表中選擇兩個數據集,而不是做兩個查詢我試圖在一次調用中選擇它們。如何選擇兩個不同的數據集與MySQL

首先,我想:

SELECT COUNT(*) AS `total` FROM `Messages` WHERE `id` = '1'; 

,第二個是:

SELECT COUNT(*) AS `total_read` FROM `Messages` WHERE `id` = '1' AND `read` = '1'; 

反正有這樣做的一個查詢?

回答

2
SELECT 
    COUNT(*) total, 
    SUM(IF(read='1',1,0)) total_read 
FROM Messages 
WHERE id='1'; 
+0

我認爲這會返回很多記錄....? – 2012-05-24 19:18:37

+1

它工作得很好:http://www.sqlfiddle.com/#!2/78c30/2。但是,由於它是一個mysql關鍵字,因此您需要在'read'處添加刻度線。 – mellamokb

+0

我總是使用刻度標記,因爲它更容易讀取SQL。 – OpensaurusRex