我有以下查詢顯示基於性別的人數:顯示行與零值
SELECT gender,
count(*) AS count
FROM persons
CROSS JOIN (SELECT count(*) AS total
FROM persons) x
GROUP BY 1
ORDER BY gender DESC
隨着作爲結果:
Male | 5
與零值如何也同樣顯示的行如:
Male | 5
Female | 0
我有以下查詢顯示基於性別的人數:顯示行與零值
SELECT gender,
count(*) AS count
FROM persons
CROSS JOIN (SELECT count(*) AS total
FROM persons) x
GROUP BY 1
ORDER BY gender DESC
隨着作爲結果:
Male | 5
與零值如何也同樣顯示的行如:
Male | 5
Female | 0
一個簡單的辦法,找出男性的計數/女
SELECT
SUM(gender='Male') AS `Male`,
SUM(gender='Female') AS `Female`
FROM persons
GROUP BY gender
這將產生像
Male Female
5 0
或顯示一行輸出聰明人,你可以使用union
SELECT 'Male' AS gender,COUNT(*) `count` FROM persons WHERE gender='Male'
UNION
SELECT 'Female' AS gender,COUNT(*) `count` FROM persons WHERE gender='Female'
這將輸出作爲
gender count
Male 5
Female 0
+1,因爲那肯定會起作用(好吧,如果這就是場上的情況)。我希望OP有性別表。 –
?? 'SUM(gender ='女')AS女''?你有錯字嗎? –
@OllieJones感謝修正是一個錯字 –
好吧,如果你「尋找的東西其實跟性別一樣快,你總是可以用UNION ALL
吧。
SELECT [Gender], COUNT(*) [Total] FROM [Persons] WHERE [Gender] = 'Male' GROUP BY [Gender]
UNION ALL
SELECT [Gender], COUNT(*) [Total] FROM [Persons] WHERE [Gender] = 'Female' GROUP BY [Gender]
這應該是** UNION ALL **。讓dbms尋找沒有的副本是沒有意義的。 –
你是對的。現在解決。 – inkieweb
男性爲'性別= 1,女性爲0? – Latheesan
SELECT性別的輸出是什麼, count(*)AS count FROM persons GROUP BY 1 ORDER BY性別DESC –
你有一個所有性別的表嗎? –