zoukankan      html  css  js  c++  java
  • 分组统计: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

    人的本事不是与生俱来的,不是你掌握了多少,而是当你面对一个未知问题的时候,你能用多少时间来掌握!
  • 相关阅读:
    定时器
    表单事件
    闭包,string类,Array类
    构造函数,原型链补充
    Elasticsearch安装(6.4.3版)
    快速配置ssh免密登录
    idea远程debug SpringBoot项目
    java获取一个对象的内存大小
    nginx代理其他网站
    外呼系统实现平均分配策略的实现方式之一
  • 原文地址:https://www.cnblogs.com/dianshen520/p/4351931.html
Copyright © 2011-2022 走看看