作者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