在SQL查询中GROUP BY的含义是什么?

简介SQL查询GROUPBY的含义是什么?在SQL查询中GROUPBY的含义是根据指定的规则对数据进行分组,其作用是将查询结果按某一列或多列的值进行分组,值相等的为一组,GROUPBY语句一般是和聚合函数进行配合使用。GroupBy和OrderByselect类别,sum(数量)AS数量之和fromAgroupby类别orderbysum(数量)desc在Access中不可以使用“orderby数

  

在SQL查询中GROUP BY的含义是什么?

SQL查询GROUP BY的含义是什么?

在SQL查询中GROUP BY的含义是根据指定的规则对数据进行分组,其作用是将查询结果按某一列或多列的值进行分组,值相等的为一组,GROUP BY语句一般是和聚合函数进行配合使用。

Group By 和 Order By

select 类别, sum(数量) AS 数量之和 from A group by 类别 order by sum(数量) desc

在Access中不可以使用“order by 数量之和 desc”,但在SQL Server中则可以。

Group By中Select指定的字段限制

select 类别, sum(数量) as 数量之和, 摘要 from A group by 类别 order by 类别 desc

执行后会提示下错误,如下图。这就是需要注意的一点,在select指定的字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。

Group By All

select 类别, 摘要, sum(数量) as 数量之和 from A group by all 类别, 摘要

中则可以指定“摘要”字段,其原因在于“多列分组”中包含了“摘要字段”,其执行结果如下表

“多列分组”实际上就是就是按照多列(类别+摘要)合并后的值进行分组,示例4中可以看到“a, a2001, 13”为“a, a2001, 11”和“a, a2001, 2”两条记录的合并。

SQL Server中虽然支持“group by all”,但Microsoft SQL Server 的未来版本中将删除 GROUP BY ALL,避免在新的开发工作中使用 GROUP BY ALL。Access中是不支持“Group By All”的,但Access中同样支持多列分组,上述SQL Server中的SQL在Access可以写成

select 类别, 摘要, sum(数量) AS 数量之和 from A group by 类别, 摘要

下载链接:网站源码/小程序源码/网站模板下载

版权声明

   站内部分内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供网络资源分享服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请 联系我们 一经核实,立即删除。并对发布账号进行永久封禁处理。在为用户提供最好的产品同时,保证优秀的服务质量。


本站仅提供信息存储空间,不拥有所有权,不承担相关法律责任。

给TA打赏
共{{data.count}}人
人已打赏
实用技巧网站技巧

海外服务器常用一键测试脚本

2024-9-6 20:44:58

网站技巧

帝国cms模型数据表常用的二次开发的需要的函数

2024-9-19 19:43:29

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索