注意:

having是对分组后的数据进行第二次筛选或者过滤,也就是说没有group by就没having

where之后不能有聚合函数

查询每个年级的总学时数,并按照升序排列
select GradeId,SUM(ClassHour) as 总学时数
from Subject
group by GradeId
order by sum(ClassHour)

查询每个参加考试的学员平均分
select studentno,AVG(studentresult) as 平局分
from Result
group by StudentNo

查询每门课程的平均分,并按照降序排列
select subjectid,AVG(studentresult)as 平均分
from Result
group by SubjectId
order by 平均分 desc

查询每个学生参加所有考试的总分,并按照降序排列

select studentno,SUM(studentresult) as 总分
from Result
group by StudentNo
order by 总分 desc

多列分组
每个年级 男女生总人数(gradeid,gender,人数)
select gradeid,gender,COUNT(1)
from student
group by GradeId,Gender
order by GradeId,Gender

having
每个年级的总人数,满足总人数必须大于等于3
select gradeid,COUNT(1) as 总人数
from student
group by GradeId
having COUNT(1)>=3

查询每年级学时数超过50 的课程数 S1
select gradeid,COUNT(subjectid) as 课程数
from Subject
where ClassHour>50
group by GradeId

查询每年级学生的平均年龄:
select gradeid,AVG(DATEDIFF(yy,birthday,GETDATE())) as 平均年龄
from student
group by gradeid

查询每个年级包含北京的学生总数 like '%北京%'
select gradeid,COUNT(1) as 总人数
from student
where address like '%北京%'
group by Gradeid

查询参加考试的学生中,平均分及格的学生记录(学号,平均分),按照降序排列
select studentno,AVG(StudentResult) as 平均分
from Result
group by StudentNo
having AVG(StudentResult)>=60
order by 平均分 desc

查询考试时间为2009-9-9课程的及格平均分 12月20日 考试 C# jsp
课程编号 所有课程平均分
select subjectid,AVG(studentresult) as 平均分
from Result
where ExamDate>='2009-9-9' and ExamDate<'2009-9-10'
group by SubjectId
having AVG(StudentResult)>=60

统计至少有一次不及格的学生学号和次数。
select studentno,COUNT(1) as 次数
from Result
where StudentResult<60
group by StudentNo

帅的人都点赞了,你还在犹豫什么??!!!

⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄

group by应用的更多相关文章

  1. LINQ Group By操作

    在上篇文章 .NET应用程序与数据库交互的若干问题 这篇文章中,讨论了一个计算热门商圈的问题,现在在这里扩展一下,假设我们需要从两张表中统计出热门商圈,这两张表内容如下: 上表是所有政区,商圈中的餐饮 ...

  2. Kafka消费组(consumer group)

    一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少.最近Kafka社区邮件组已经在讨论是否应该正式使用新版本consumer替换老版本,笔者也觉得时 ...

  3. LINQ to SQL语句(6)之Group By/Having

    适用场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式: var q = from p in db.Products group ...

  4. 学习笔记 MYSQL报错注入(count()、rand()、group by)

    首先看下常见的攻击载荷,如下: select count(*),(floor(rand(0)*2))x from table group by x; 然后对于攻击载荷进行解释, floor(rand( ...

  5. [备查]使用 SPQuery 查询 "Person or Group" 字段

    原文地址:http://www.stum.de/2008/02/06/querying-the-person-or-group-field-using-spquery/ Querying the “P ...

  6. order by 与 group by 区别

    order by 排序查询.asc升序.desc降序 示例: select * from 学生表 order by 年龄 ---查询学生表信息.按年龄的升序(默认.可缺省.从低到高)排列显示 也可以多 ...

  7. Group by

    分组语句必须和聚合函数在一起使用, group by子句负责将数据分成逻辑组,聚合函数对每一组进行统计计算 group by 必须放到 select 语句后面,如果select语句中有where子句, ...

  8. Oracle学习笔记五 SQL命令(三):Group by、排序、连接查询、子查询、分页

    GROUP BY和HAVING子句 GROUP BY子句 用于将信息划分为更小的组每一组行返回针对该组的单个结果 --统计每个部门的人数: Select count(*) from emp group ...

  9. [LeetCode] Group Shifted Strings 群组偏移字符串

    Given a string, we can "shift" each of its letter to its successive letter, for example: & ...

  10. sql 单个字段去重查询 distinc 和 group by的效率问题

    sql 查询 distinc用法 distinct 和group by都需要排序,一样的结果集从执行计划的成本代价来看差距不大,但group by 还涉及到统计,所以应该需要准备工作.所以单纯从等价结 ...

随机推荐

  1. 【游戏框架】Phaser

    PhaserDesktop and Mobile HTML5 game framework Phaser Examples

  2. MySQL安装没有弹出配置向导

    安装MySQL过程中一切都正常只是没有弹出MySQL配置向导对话框,即出现"launch the MySQL Instance Configuration Wizard" fini ...

  3. HDOJ/HDU 1297 Children’s Queue(推导~大数)

    Problem Description There are many students in PHT School. One day, the headmaster whose name is Pig ...

  4. Java 集合框架 ArrayList 源码剖析

    总体介绍 ArrayList实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现.除该类未实现同步外,其余跟Vector大致相同.每个ArrayL ...

  5. Intersecting Lines - POJ 1269(判断平面上两条直线的关系)

    分析:有三种关系,共线,平行,还有相交,共线和平行都可以使用叉积来进行判断(其实和斜率一样),相交需要解方程....在纸上比划比划就出来了....   代码如下: ================== ...

  6. 如何高性能的给UIImageView加个圆角?(不准说layer.cornerRadius!)

    豆电雨 搬砖自味精:http://awhisper.github.io/2016/03/12/滚动圆角卡顿刨根问底/ 使用Quartz2D直接绘制图片 步骤:  a.创建目标大小(cropWidth, ...

  7. [置顶] Linux高编之进程--------fork函数的同步与异步(兄弟子进程和父子孙进程示列)

    前面讲述的fork函数的基本用法,下面通过两个程序来说明fork函数同步与异步之间的关系: <1>通过fork函数实现在父进程下的四个兄弟子进程(即异步) : 函数实现代码: #inclu ...

  8. servlet清晰理解

    servlet介绍 Servlet看起来像是通常的Java程序.它是JSP的前身,在MVC架构中担任Controller的角色,即控制层.主要进行数据的处理操作和流程的控制,并将有关结果存储到Java ...

  9. 关于java里小数点的保留

    关于java里小数点的保留 1.先给大家看一个代码. import java.util.*;import java.text.*; public class A { public static voi ...

  10. [转]Android UI:看看Google官方自定义带旋转动画的ImageView-----RotateImageView怎么写(附 图片淡入淡出效果)

    http://blog.csdn.net/yanzi1225627/article/details/22439119 众所周知,想要让ImageView旋转的话,可以用setRotation()让其围 ...