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

  • 相关阅读:
    数据仓库基本概念
    收藏--关于命名规范、维度明细层及集市汇总层设计的思考
    Thinkphp6框架学习:有关数据库的基本操作
    算法第一章作业
    解决 Intellij IDEA Cannot Resolve Symbol ‘BASE Decoder’ 问题
    利用Kruskal算法求最小生成树解决聪明的猴子问题 -- 数据结构
    利用BFS解决拯救007问题 -- 数据结构
    列出连通集(DFS及BFS遍历图) -- 数据结构
    42行代码完成深入虎穴
    利用Tarjan算法解决(LCA)二叉搜索树的最近公共祖先问题——数据结构
  • 原文地址:https://www.cnblogs.com/johnsmith/p/2167580.html
Copyright © 2011-2022 走看看