34,576
社区成员
发帖
与我相关
我的任务
分享
DECLARE @TB TABLE(dept NVARCHAR(10), name NVARCHAR(10), sex NVARCHAR(1))
INSERT @TB
SELECT N'财务处', N'张', N'男' UNION ALL
SELECT N'人力处', N'王', N'女'
SELECT DEPT,COUNT(*) AS TOTAL,SUM(CASE WHEN SEX=N'男' THEN 1 ELSE 0 END) AS F,SUM(CASE WHEN SEX=N'女' THEN 1 ELSE 0 END) AS M
FROM @TB
GROUP BY DEPT
/*
DEPT TOTAL F M
---------- ----------- ----------- -----------
人力处 1 0 1
财务处 1 1 0
*/
DECLARE @TB TABLE(dept NVARCHAR(10), name NVARCHAR(10), sex NVARCHAR(1))
INSERT @TB
SELECT N'财务处', N'张', N'男' UNION ALL
SELECT N'人力处', N'王', N'女'
SELECT DEPT,NAME,COUNT(*) AS TOTAL,SUM(CASE WHEN SEX=N'男' THEN 1 ELSE 0 END) AS F,SUM(CASE WHEN SEX=N'女' THEN 1 ELSE 0 END) AS M
FROM @TB
GROUP BY DEPT,NAME
/*
DEPT NAME TOTAL F M
---------- ---------- ----------- ----------- -----------
人力处 王 1 0 1
财务处 张 1 1 0
*/
select
单位,
总人数=(select count(1) from tb),
男职工人数=(select count(1) from tb b where a.单位=b.单位 and b.sex='男'),
女职工人数 =(select count(1) from tb b where a.单位=b.单位 and b.sex='女')
from tb a
group by 单位
SELECT 单位,
COUNT(*) AS 总人数,
SUM(CASE WHEN sex='男' THEN 1 ELSE 0 END) AS 男职工人数,
SUM(CASE WHEN sex='男' THEN 0 ELSE 1 END) AS 女职工人数
FROM tb
GROUP BY 单位