(十二)分组查询

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

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

  • 分组

    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. LeetCode 3Sum (Two pointers)

    题意 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all ...

  2. C#_正则表达式

    概述 正则表达式,主要是用符号描述了一类特定的文本(模式).而正则表达式引擎则负责在给定的字符串中,查找到这一特定的文本. 本文主要是列出常用的正则表达式符号,加以归类说明.本文仅仅是快速理解了正则表 ...

  3. 科普贴 | 以太坊代币钱包MyEtherWallet使用教程,一步步教你玩转MEW

    MyEtherWallet 是一个以太坊的网页钱包,使用非常简单,打开网页就可以使用,源代码开源,不会在服务器上存储用户的钱包信息如私钥和密码.支持 Ledger Wallet.TREZOR 等硬件钱 ...

  4. thinkphp3.2 批量添加数据

    这是我遇到的thinkphp3.2 当中最让我无语的坑 批量添加数据有个方法是 addAll() 这个方法一定要注意数组的键名,一定要整齐!!! 可以在存入数据前,用ksort()方法将数组的键名排序 ...

  5. ace how to guide

    Configuring the editor there are several ways to pass configuration to Ace 有几种方法可以将配置传递给ace // pass ...

  6. mac osx 初次使用PHP环境搭建

    非常简单,一共2个步骤: Step1: 启动Apache mac osx 系统默认安装Apache服务. 首先打开terminal,输入: sudo apachectl start 如果需要输入密码, ...

  7. think in UML(二)

    基础篇——在学习中思考! 在大概了解了UML之后就该系统的学习UML的主要建模元素了,一个个实例帮助我们更好的理解这些元素的重要性并运用相关知识解决实际问题. 在UML里有一个概念叫版型,有些书里也称 ...

  8. Navicat Premium和Navicat for MySQL哪个好用?

    之前在Navicat官网下载了Navicat Premium和Navicat for MySQL使用.Navicat官网产品下载地址:https://www.navicat.com.cn/produc ...

  9. laravel DB 执行 mysql函数或者字段

    使用laravel框架中的DB查询mysql数据库的时候,综合遇到执行mysql函数或者,自定义字段,一般情况下DB会把传入的函数当做字段处理 方法如下: DB:raw('函数或者字段'); DB:w ...

  10. python设计模式-单例模式

    单例模式应用场景 代码的设计模式共有25种,设计模式其实是代码无关的.其目的是基于OOP的思想,不同应用场景应用不同的设计模式,从而达到简化代码.利于扩展.提示性能等目的.本文简述Python实现的单 ...