zoukankan      html  css  js  c++  java
  • 统计某个班男女生人数_sql练习题


     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
  • 相关阅读:
    C语言第0次作业
    C语言博客作业02循环结构
    C语言博客作业04数组
    C语言博客作业03函数
    #C博客作业01分支、顺序结构
    函数
    operation on i may be undefined
    #关于C语言的顺序结构
    关于代码习惯
    VS2019调试的一系列待理解解决问题
  • 原文地址:https://www.cnblogs.com/seerlin/p/1392230.html
Copyright © 2011-2022 走看看