zoukankan      html  css  js  c++  java
  • SQL练习1:统计班级男女生人数

    1 有如下表格和数据:
     2     ID          Name       Class      Sex
     3     ----------- ---------- ---------- ----
     4     1           张1         一班         男
     5     2           张2         一班         男
     6     3           张3         二班         女
     7     4           张4         一班         男
     8     5           张5         二班         女
     9     6           张6         二班         女
    10     7           张7         二班         男
    11     8           张8         一班         女
    12 现要求通过SELECT语句查询出如下结果:
    13 
    14     班级         男           女
    15     ---------- ----------- -----------
    16     二班         1           3
    17     一班         3           1
    18 
    19 
    20 use studb
    21 go
    22 create table TestTable
    23 (
    24     ID int identity(1,1primary key,
    25     [Name] varchar(10),
    26     [Class] varchar(10),
    27     Sex char(2)
    28 )
    29 
    30 insert TestTable values('张1','一班','')
    31 insert TestTable values('张2','一班','')
    32 insert TestTable values('张3','二班','')
    33 insert TestTable values('张4','一班','')
    34 insert TestTable values('张5','二班','')
    35 insert TestTable values('张6','二班','')
    36 insert TestTable values('张7','二班','')
    37 insert TestTable values('张8','一班','')
    38 
    39 select * from TestTable
    40 
    41 --答案1:
    42 select class 班级, count(case when Sex='' then 1 endas 男,
    43 count(case when Sex='' then 1 endas 女 
    44 from TestTable group by class
    45 --答案2:
    46 SELECT 班级, SUM(男) AS 男, SUM(女) AS 女 FROM (
    47 SELECT Class AS 班级, COUNT(Sex) AS 男, 0 AS 女 FROM TestTable
    48 WHERE Sex=''
    49 GROUP BY Class
    50 UNION
    51 SELECT Class AS 班级, 0 AS 男, COUNT(Sex) AS 女 FROM TestTable
    52 WHERE Sex=''
    53 GROUP BY Class
    54 ) A
    55 GROUP BY 班级

     

    本文引用自:http://www.cnblogs.com/seerlin/archive/2009/02/17/1392230.html

  • 相关阅读:
    docker使用以及dockerfile编写
    c++:空构造空析构的益处之一
    python os.path模块常用方法详解(转)
    enlarge your dataset
    解决镜像无法删除的问题multiple repositories
    Ubuntu 14.04 LTS 安装Docker(转)
    忘记root密码,怎么办
    [Unity3D]降低向Shader中传值的开销
    Shader预处理宏、内置状态变量、多版本编译等
    Unity Shader 常用函数列表
  • 原文地址:https://www.cnblogs.com/johnsmith/p/2167580.html
Copyright © 2011-2022 走看看