2013-03-24 107 views
0

新的政府報告法規要求您開發一個可以計算公司僱員男性受撫養人數量的查詢。該信息存儲在dependent表的dep_gender列中。結果表應該有一個標記爲Number Male Dependents的單個輸出列。SQL Server過濾

因此,對於這一部分,我有:

SELECT COUNT(DEP_GENDER)"Number of Male Dependents" 
FROM dependent 
where dep_gender = 'M'; 

現在工作得很好,以「修改」的下一部分..我有一些問題,因爲我無法弄清楚如何篩選成兩個不同的羣體與男性和女性的相關計數。

政府報告法規的修訂要求報告要計算公司的男性和女性受撫養人的人數。將信息顯示爲兩列,一列用於性別,一列用於相關計數。結果表應該有兩行,每個性別一行。使用單個查詢。此外,性別輸出欄的格式應爲CHAR(6),標題標題爲Gender。計數欄應該有一個標題標籤Number Counted

+1

哇是這個功課? – 2013-03-24 00:26:51

回答

1

我認爲你正在尋找一個Group By查詢:

Select Cast(Dep_Gender as Char(6)) as Gender, 
    Count(1) 'Number Counted' 
From Dependent 
Group By Cast(Dep_Gender as Char(6)) 

Cast由於要求。(作業可能)用於對性別格式化爲CHAR(6)。

+0

是的,我認爲這是完美的。非常感謝!!! – 2013-03-24 00:13:31

+1

如果這回答了您的問題,請考慮接受此答案,以便sgeddes可以獲得聲譽信用。 – 2013-03-24 00:18:46

+0

@ user2203516 - np,很高興我們可以幫助! – sgeddes 2013-03-24 00:33:32

0
SELECT 'Male' As [Gender], COUNT(DEP_GENDER) AS [Counted] 
FROM dependent 
where dep_gender = 'M' 
UNION ALL 
SELECT 'Female', COUNT(DEP_GENDER) 
FROM dependent 
where dep_gender = 'F' 
+2

使用「GROUP BY」執行單個掃描將執行該作業時,沒有理由有兩個單獨的數據庫掃描。 – 2013-03-24 00:15:06