Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。
它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。注意:group by 是先排序后分组。
select student.姓名,avg(sc.成绩)
from student,sc
where student.学号=sc.学号 and 姓名
in
(
select student.姓名 from student,sc
where student.学号=sc.学号 and sc.成绩<60
group by student.姓名
having count(*)>=2
)
group by student.姓名
Group By All [expressions] :
Group By All + 分组字段, 这个和前面提到的Group By [Expressions]的形式多了一个关键字ALL。这个关键字只有在使用了where语句且where条件筛选掉了一些组的情况下才可以看出效果。在SQL Server 2000的联机帮助中,对于Group By All是这样进行描述的:
如果使用 ALL 关键字,那么查询结果将包括由 GROUP BY 子句产生的所有组,即使某些组没有符合搜索条件的行。没有 ALL 关键字,包含 GROUP BY 子句的 SELECT 语句将不显示没有符合条件的行的组。
以上内容参考:百度百科-GROUP BY
Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。
它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。注意:group by 是先排序后分组。
举例子说明:如果要用到group by 一般用到的就是“每这个字” 例如说明现在有一个这样的表:每个部门有多少人,就要用到分组的技术
selectDepartmentIDas“部门名称”。
COUNT(*) as“个数” from BasicDepartment group by DepartmentID
这个就是使用了group by +字段进行了分组,其中我们就可以理解为我们按照了部门的名称ID
DepartmentID将数据集进行了分组;然后再进行各个组的统计数据分别有多少;
如果不用count(*)而用类似下面的语法
selectDepartmentID,DepartmentNamefromBasicDepartmentgroupbyDepartmentID
将会出现错误
消息8120,级别16,状态1,第1行
选择列表中的列“BasicDepartment。DepartmentName”无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
扩展资料
结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式。
所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)