
------解决思路----------------------
SELECT
[部门]
,SUM(1)[总人数]
,SUM(CASE[学历]WHEN'中专'THEN 1 ELSE 0 END)[中专]
,SUM(CASE[学历]WHEN'本科'THEN 1 ELSE 0 END)[本科]
,SUM(CASE[学历]WHEN'大专'THEN 1 ELSE 0 END)[大专]
,SUM(CASE WHEN DATEDIFF(YEAR,[出生日期],GETDATE())<=18 THEN 1 ELSE 0 END)[18岁以下]
,SUM(CASE WHEN DATEDIFF(YEAR,[出生日期],GETDATE())BETWEEN 19 AND 25 THEN 1 ELSE 0 END)[18岁至25岁]
,SUM(CASE WHEN DATEDIFF(YEAR,[出生日期],GETDATE())BETWEEN 26 AND 35 THEN 1 ELSE 0 END)[25岁至35岁]
,SUM(CASE WHEN DATEDIFF(YEAR,[出生日期],GETDATE())>35 THEN 1 ELSE 0 END)[35岁以上]
FROM
[数据表]
GROUP BY
[部门]
UNION ALL
SELECT
'合计'
,SUM(1)[总人数]
,SUM(CASE[学历]WHEN'中专'THEN 1 ELSE 0 END)[中专]
,SUM(CASE[学历]WHEN'本科'THEN 1 ELSE 0 END)[本科]
,SUM(CASE[学历]WHEN'大专'THEN 1 ELSE 0 END)[大专]
,SUM(CASE WHEN DATEDIFF(YEAR,[出生日期],GETDATE())<=18 THEN 1 ELSE 0 END)[18岁以下]
,SUM(CASE WHEN DATEDIFF(YEAR,[出生日期],GETDATE())BETWEEN 19 AND 25 THEN 1 ELSE 0 END)[18岁至25岁]
,SUM(CASE WHEN DATEDIFF(YEAR,[出生日期],GETDATE())BETWEEN 26 AND 35 THEN 1 ELSE 0 END)[25岁至35岁]
,SUM(CASE WHEN DATEDIFF(YEAR,[出生日期],GETDATE())>35 THEN 1 ELSE 0 END)[35岁以上]
FROM
[数据表]
你这样试试