首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

!这条SQL语句怎么写?高分送

2012-04-08 
求救!这条SQL语句如何写???高分送!在线等档案表(编号,性别,政治面貌,年龄)    1  男  党员   25    2  女 

求救!这条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 政治面貌

热点排行