(十二)分组查询

  • 将数据表中的数据按某种条件分成组,按组显示统计信息

  • 查询各班学生的最大年龄、最小年龄、平均年龄和人数

  • 分组

    SELECT <字段名表1> FROM <表名> -- 这里字段名表1 应该 是 按照字段名表2 分组以后 能够产生唯一值的 字段(如:班级)

    [WHERE <条件> ]

    GROUP BY <字段名表2>

    [HAVING <条件> ]

    [ORDER BY <字段名列表3> ]

--例1 查询各班学生的最大年龄、最小年龄、平均年龄和人数
-- 将多余空格删去
UPDATE Student
SET Sdept = ltrim(sdept) Select ltrim(Sdept) AS 系别, MAX(Sage) AS 最大, MIN(Sage) AS 最小,
AVG(Sage) AS 平均, COUNT(*) AS 人数
FROM Student
GROUP BY ltrim(Sdept)
ORDER BY 平均 DESC --例2 查询各班学生的最大年龄、最小年龄、平均年龄和人数
--并且按平均年龄降序排列
--见上 --例3 查询各系别男生和女生人数
SELECT Sdept, Ssex, COUNT(*) AS 人数
FROM Student
GROUP BY Sdept, Ssex --通过系别,男女分组
ORDER BY Sdept --例4 查询各系别姓张的学生的人数
SELECT Sdept, Count(*) AS 张姓人数
FROM Student
WHERE Sname LIKE '张%'
GROUP BY Sdept --例5 查询姓"张"的学生人数等于1的班级 及 姓张的人数
SELECT Sdept, Count(*) AS Douzi
FROM Student
WHERE Sname LIKE '张%'
GROUP BY Sdept
Having COUNT(*) = --例6 查询各系别同学来自不同的省份人数,按班级排序
Select Sdept, Province, Count(*)
from Student
GROUP BY Sdept, Province
ORDER BY Sdept
--(5)创建每个学生所选课程的学号和平均分,并按平均分排序的视图ST1。
GO
create View ST1(Sno, AVGE)
AS
Select Top 100 percent Sno, AVG(Grade) AS AVGE
From SC
Group by Sno
Order by AVG(Grade) asc

SQL语句(十二)分组查询的更多相关文章

  1. (十二)数据库查询处理之Query Execution(1)

    (十二)数据库查询处理之Query Execution(1) 1. 写在前面 这一大部分就是为了Lab3做准备的 每一个query plan都要实现一个next函数和一个init函数 对于next函数 ...

  2. 通过带参数的Sql语句来实现模糊查询(多条件查询)

    #region 通过带参数的Sql语句来实现模糊查询(多条件查询) StringBuilder sb = new StringBuilder("select * from books&quo ...

  3. hibernate中使用sql语句进行表链接查询,对结果集的遍历方法

    今天做了一个在hibernate中使用sql语句进行表链接查询的功能,得到的属性是来自两个表中的字段.下面对结果集遍历的方法进行记录. sql语句不写了.部分代码如下: List<Course_ ...

  4. 六、SQL语句进行多条件查询,并解决参数为空的情况

    一.SQL语句进行多条件查询,并解决参数为空的情况 QueryEntity query; var whereSql = new StringBuilder("Where 1=1") ...

  5. 数据库常用SQL语句(二):多表连接查询

    前面主要介绍了单表操作时的相关查询语句,接下来介绍一下多表之间的关系,这里主要是多表数据记录的查询,也就是如何在一个查询语句中显示多张表的数据,这也叫多表数据记录的连接查询. 在实现连接查询时,首先是 ...

  6. Hibernate(十二)Criteria查询

    一.简述 Criteria是一种比hql更面向对象的查询方式.Criteria 可使用 Criterion 和 Projection 设置查询条件.可以设置 FetchMode(联合查询抓取的模式 ) ...

  7. 跟我一起读postgresql源码(十二)——Executor(查询执行模块之——Materialization节点(下))

    接前文,我们继续说剩下的4个Materialization节点. 7.SetOp节点 SetOp节点用于处理集合操作,对应于SQL语句中的EXCEPT.INTERSECT两种集合操作,至于另一种集合操 ...

  8. SQL语句多表连接查询语法

    一.外连接 1.左连接  left join 或 left outer join SQL语句:select * from student left join score on student.Num= ...

  9. MySQL常用sql语句-----数据表的查询操作

    常用的sql语句如下,应对工作足以 1.查询指定字段 select c_id,c_age,c_name from t_student; select c_id as 编号,c_name as 姓名,c ...

  10. MyBatis 动态SQL(十二)

    动态条件查询 以下是我们数据库表 tb_user 的记录: 假设现在有一个需求,就是根据输入的用户年龄和性别,查询用户的记录信息.你可能会说,这太简单了,脑袋里立马蹦出如下的 SQL 语句: SELE ...

随机推荐

  1. linux中使sqlplus能够上下翻页

    安装包链接:https://pan.baidu.com/s/1WsQTeEQClM88aEqIvNi2ag 提取码:s241  rlwrap-0.37-1.el6.x86_64.rpm 和 rlwra ...

  2. Markdown基本使用方法

    最近开通了博客,看到网上好多推荐markdown的,而且博客园支持markdown,所以决定学习一下. 百度百科对markdown的介绍: Markdown是一种可以使用普通文本编辑器编写的标记语言, ...

  3. linux内核分析第一次实验

    http://blog.sina.com.cn/s/blog_78e559950102wneg.html

  4. java第二次实验报告

    课程:Java实验   班级:201352     姓名:池彬宁  学号:20135212 成绩:             指导教师:娄佳鹏   实验日期:15.05.05 实验密级:         ...

  5. 第二个Sprint冲刺第五天(燃尽图)

  6. Iterative Quantization,ITQ

    Abstract 针对大规模的图像检索问题,论文提出了一个高效的ITQ算法.该算法先将中心化后的数据映射到超立方体的顶点上,再通过优化过程寻找一个旋转矩阵,使得数据点经过旋转后,与超立方体的顶点数据具 ...

  7. jedispool资源释放

    我的天啊,这几天要被jedis逼疯了,网上好多资料并没有介绍jedis链接释放不了的方法,我确定他们那些老人肯定知道都,就是不说,你们说气人不.还有要吐槽哈jedis源码开发的那些家伙,怎么写的代码, ...

  8. 第九周PSP&进度条

    PSP 一.表格: D日期     C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 11月11号 讨论 讨论beta发布 09:00 09:54 1 ...

  9. 从0到1搭建基于Kafka、Flume和Hive的海量数据分析系统(一)数据收集应用

    大数据时代,一大技术特征是对海量数据采集.存储和分析的多组件解决方案.而其中对来自于传感器.APP的SDK和各类互联网应用的原生日志数据的采集存储则是基本中的基本.本系列文章将从0到1,概述一下搭建基 ...

  10. 数据库中增加操作insert into的用法和查询select的用法

    insert into的用法 1.一条insert into 可以插入多条记录 2.insert into 能判断主键是否冲突,和做出冲突处理 如果主键冲突的话会报错,还能写成如果冲突就更新的形式格式 ...