首页 新闻 会员 周边 捐助

城市是学校的外键,学校是班级的外键,班级是学生的外键,学生才具有会员与非会员的状态,请问大神要完成这个学校的统计,这个SQL语句要怎么写

0
[待解决问题]

城市是学校的外键,学校是班级的外键,班级是学生的外键,学生才具有会员与非会员的状态,请问大神要完成这个学校的统计,这个SQL语句要怎么写

 

西院小人物的主页 西院小人物 | 菜鸟二级 | 园豆:204
提问于:2018-05-01 20:42
< >
分享
所有回答(3)
0

分组求和,根据学校分组,根据具体条件求和

顾星河 | 园豆:7290 (大侠五级) | 2018-05-02 09:19
0

城市做A表 左关联学校 B表 , B表左关联 班级C表 C表左关联  D表学生的统计求和数据

夜里挑键戳灯 | 园豆:299 (菜鸟二级) | 2018-05-03 09:18
0

看图, 应该点选左侧城市, 右侧展示对应统计数据, 所以SQL里城市作为查询条件加在WHERE里

SELECT
    学校名称,
    COUNT(班级名称) AS 班级数量,
    COUNT(会员数量) AS 会员数量,
    COUNT(非会员数量) AS 非会员数量,
FROM
(
        SELECT
        学校表.学校名称,
        班级表.班级名称,
        (CASE WHEN 学生表.状态 = '会员' THEN COUNT(学生表.主键) END) AS 会员数量,
        (CASE WHEN 学生表.状态 = '非会员' THEN COUNT(学生表.主键) END) AS 非会员数量
        FROM 学校表
        LEFT JOIN 班级表 ON 学校表.主键 = 班级表.学校外键
        LEFT JOIN 学生表 ON 班级表.主键 = 学生表.班级外键
        WHERE
            学校表.城市外键 = '城市表主键'
        GROUP BY 学校表.学校名称, 班级表.班级名称
) AS tmp
GROUP BY 学校名称

、熙和 | 园豆:1508 (小虾三级) | 2018-05-03 10:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册