为了账号安全,请及时绑定邮箱和手机立即绑定

SQL中Group By 用法?

SQL中Group By 用法?

holdtom 2019-02-06 11:07:58
用法如下SELECT 列名1, aggregate_function(列名2)FROM table_nameGROUP BY 列名 Group By 后面的列名,一定要与上面select后面的列名一致吗???一定要是列名1吗?SELECT 列名1,aggregate_function(列名2)FROM table_nameGROUP BY 列名Having aggregate_function(列名)Having后面的aggregate_function(列名)也必须和上面select后面的aggregate_function(列名)一致吗?
查看完整描述

3 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

GROUP BY 是分组查询, 一般 GROUP BY 是和 聚合函数配合使用,你可以想想

你用了GROUP BY 按  ITEM.ITEMNUM 这个字段分组,那其他字段内容不同,变成一对多又改如何显示呢,比如下面所示

A  B
1  abc
1  bcd
1  asdfg

select A,B from table group by A
你说这样查出来是什么结果,

A  B
abc
1  bcd
asdfg

右边3条如何变成一条,所以需要用到聚合函数,比如

select A,count(B) 数量 from table group by A
这样的结果就是
A  数量
1   3

group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面

SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。

GroupBy语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。


查看完整回答
反对 回复 2019-03-20
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

SELECT 列名1,dbo.aggregate_function(列名2)
FROM table_name
GROUP BY 列名1,列名2
自定义函数aggregate_function,加上dbo.

查看完整回答
反对 回复 2019-03-20
  • 3 回答
  • 0 关注
  • 791 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信