求救!这条SQL语句如何写???高分送!在线等
档案表(编号,性别,政治面貌,年龄)
1 男 党员 25
2 女 团员 20
3 男 党员 40
4 男 群众 35
5 女 党员 28
要求按这个政治面貌分组统计
政治面貌 男 女 总人数 平均年龄
请问各位一条SQL语句能实现吗?
[解决办法]
SQL Server 的:
SELECT 政治面貌,
COUNT(CASE WHEN 性别=男 THEN 1 END) 男,
COUNT(CASE WHEN 性别=女 THEN 1 END) 女,
COUNT(编号) 总人数,
AVG(年龄) 平均年龄
FROM 档案表
//如果是Access用SELECT嵌套一下
[解决办法]
SELECT a.what as 政治面貌,count(*) as 总人数,(select count(*) from info b where sex= '男 ' and b.what=a.what) as 男,(select count(*) from info b where sex= '女 ' and b.what=a.what) as 女,avg(a.old) as 平均年龄
FROM info a group by What;
[解决办法]
SELECT 政治面貌,
性别,
COUNT(编号) 总人数,
AVG(年龄) 平均年龄
FROM 档案表
GROUP BY 政治面貌,性别
[解决办法]
SELECT 政治面貌,
COUNT(CASE WHEN 性别= '男 ' THEN 1 END) 男,
COUNT(CASE WHEN 性别= '女 ' THEN 1 END) 女,
COUNT(编号) 总人数,
AVG(年龄) 平均年龄
FROM 档案表 group by 政治面貌
[解决办法]
SELECT 政治面貌,
SUM(CASE WHEN 性别= '男 ' THEN 1 ELSE 0 END) 男,
SUM(CASE WHEN 性别= '女 ' THEN 1 ELSE 0 END) 女,
COUNT(编号) 总人数,
AVG(年龄) 平均年龄
FROM 档案表 group by 政治面貌