• 分组统计:count,group by,having, order by


    --统计男女生的总人数
    select COUNT(*) from Student where Sex='男'
    select COUNT(*) from Student where Sex='女'
    --统计每一个班级的总人数
    select COUNT(*) from Student where ClassId=1
    --分组统计:需要按班级分组,每一个组得到一个统计结果
    --select 字段列表 from 表列表 where 数据源筛选 group by 分组字段列表 order by 排序字段列表
    select classid, COUNT(*) from Student group by ClassId
    --使用分组统计男女生总人数
    select sex, COUNT(*) from Student group by sex

    --分组统计的细节:
    select sex, COUNT(*) from Student
    select sex from Student
    select COUNT(*) from Student
    --sql语句执行的顺序
    --5 显示 1 2 3 4 6
    --select 字段列表 from 表列表 where 数据源的筛选 group by 分组字段列表 having 分组统计结果集的筛选 Order by 排序字段列表
    --语法规则:聚合不应出现在 WHERE 子句中,聚合函数应该使用在having中
    --where是对源数据进行筛选的,但是having是对分组统计所获取的结果集进行筛选的。
    select classid, COUNT(*) as cnt from Student where Address is not null group by ClassId having COUNT(*)>2 order by cnt


    --查询每一个班级男女生的总人数
    select classid,sex, COUNT(*) from Student group by ClassId,Sex order by ClassId
    --
    select top 2 * from Student
    select top 2 * from Student order by StudentName
    --当你看到 每个 不同 各自 的时候,就考虑分组
    --1.查询每个班级的总学时数,并按照升序排列 subject
    select ClassId,SUM(ClassHour) from Subject group by ClassId order by SUM(ClassHour)
    --2.查询每个参加考试的学员的平均分 result
    select (select studentname from Student where StudentNo=result.StudentNo),AVG(StudentResult) from Result group by StudentNo
    --3.查询每门课程的平均分,并按照降序排列 result
    select SubjectId 科目ID,AVG(StudentResult) 平均分 from Result group by SubjectId order by 科目ID Desc
    --4.查询每个班级男女生的人数 --多字段分组
    select classid,sex, COUNT(*) from Student group by ClassId,Sex order by ClassId

    人的本事不是与生俱来的,不是你掌握了多少,而是当你面对一个未知问题的时候,你能用多少时间来掌握!
  • 相关阅读:
    js 正则验证输入框只允许输入正实数和正整数和负整数
    阿里maven镜像服务器配置
    JDK环境变量配置
    AndroidStudio OpenCv的配置,不用安装opencv manager
    Java实现红黑树
    基于红黑树的骨架提取Java
    基于Mat变换的骨架提取Java
    Java实现二叉树的四种遍历
    Java实现常见的几种排序
    hough变换检测直线Java
  • 原文地址:https://www.cnblogs.com/dianshen520/p/4351931.html
Copyright © 2020-2023  润新知