作者KenZ ()
看板Database
標題Re: [SQL ] 用count沒辦法出現零,那要用什麼函數?
時間Sat May 29 17:43:45 2010
※ 引述《moonsteor (兔子)》之銘言:
: 我有一個資料表,我想要算各職務有幾個男生,可是一直無法出現0,
: 我是用count,有其他方法嗎?
: 資料表如下:
: 職務 性別
: ___________________
: 班長 男
: 班長 男
: 班長 女
: 班長 男
: 學藝 女
: 學藝 女
: 體育 男
: 體育 男
: 體育 男
: 衛生 男
: 衛生 女
: 衛生 女
: 如何變成.............
: 職務 性別 人數
: ________________
: 班長 男 3
: 學藝 男 0
: 體育 男 3
: 衛生 男 1
用 DISTINCT + 子查詢,不過我是用 MS SQL 2005 不知道你的 DBMS 語法有沒有一樣
SELECT DISTINCT 職務
, '男' AS 性別
, (SELECT COUNT(*) FROM [資料表] AS B
WHERE A.職務 = B.職務 AND B.性別 = '男'
) AS 人數
FROM [資料表] AS A
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.254.223.168
1F:推 rushcat:這個做法要假設起碼有一學藝 05/29 20:21
2F:推 moonsteor:都出現零~~~~~~~~~~ 05/29 20:59
3F:推 moonsteor:不好意思,是我自己打錯了,你的語法是對的,謝謝! 05/29 21:22
4F:→ KenZ:的確每個職務必須要至少有一個人, 不然就要有另一個對照表了 05/29 23:05