2016-08-22 113 views
-1

我有一個簡單的表格學生,其中包含兩個列名和性別爲m或f。如何將性別分爲男性和女性兩列

我必須計算表中的男性和女性的數量並將其顯示爲兩列不同的列。

結果應該是這樣的:

|Male |female | 
| 5 | 4 | 

回答

2

我不知道m但對於這個標準的SQL將是:

SELECT 
    SUM(CASE gender WHEN 'm' THEN 1 ELSE 0 END) AS Male, 
    SUM(CASE gender WHEN 'f' THEN 1 ELSE 0 END) AS Female 
FROM student 
1
SELECT COUNT(female), COUNT(male) FROM student; 

這應該這樣做。

編輯:我剛剛重讀你的問題,並相信你的意思是隻有'名字'和'性別'欄,而不是'男性'和'女性'欄。在這種情況下,使用SUM()函數將工作。 (如其他已經回答)

+0

這是怎麼做到的呢?女性和男性不是專欄,甚至沒有價值。 –

+0

你是對的,我由於缺乏標點符號而誤讀了帖子。編輯我的答案。 – Iain

+0

我沒有得到的是你是如何得到2 upvotes這個... –

3

SELECT SUM(gender='m') AS male, SUM(gender='f') AS female FROM students;

說明:比較gender='m'返回一個整數結果(1匹配或0 NOMATCH)和總和()添加它們。

+0

我似乎在這裏學到了新東西,謝謝! :) – Moptan

+0

感謝您寶貴的時間..... –

+0

通過使用這我得到了兩行的結果。應該只有一行 –

相關問題