sum函数搭配group by /having的案例说明

记录一些常用的函数及用法

--查询份额大于1w的投资人信息。

  1. 聚合数据的筛选 :当你需要基于聚合函数(如 SUM(), AVG(), MAX(), MIN(), COUNT() 等)的结果来过滤记录时,使用 HAVING 子句。

  2. 组合条件 :HAVING 子句可以使用逻辑运算符(如 AND, OR)来组合多个条件。

参考示例

select t.vc_tradeacco,SUM(t.en_totalshare) from tstaticshare t group by t.vc_tradeacco having SUM(t.en_totalshare) >10000 order by 1 desc

在这个例子中:

  • GROUP BY vc_tradeacco 将结果按 vc_tradeacco 分组。
  • SUM(en_totalshare) 是一个聚合函数,它计算每个 vc_tradeacco 的总销量。
  • HAVING SUM(en_totalshare) > 10000 是对聚合后的结果进行过滤的条件,它只选择那些总份额超过 10000 的记录。

HAVING 与 WHERE 子句的区别

  • WHERE 子句在数据分组前对行进行过滤,它不能使用聚合函数。如图所示,在where前面使用会报错ora-00933 sal命令未正确结束
  • HAVING 子句在数据分组后对聚合函数的结果进行过滤。
相关推荐
这个DBA有点耶25 分钟前
数据同步的三个工程底线:DDL同步、断点续传、一致性校验——开源CDC的边界与KFS的路径
数据库·dba·代码规范
SelectDB1 小时前
列式存储为什么适合分析类负载?原理、限制与日志场景应用
数据库
数据库小学妹2 小时前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
爱吃奥利奥_wen2 小时前
SQL Server 基础语法详解:从建库建表到约束与增删改查
服务器·数据库·oracle
这个DBA有点耶3 小时前
MySQL 8.0不可见索引:删索引怕出事,不删又拖慢写入——中间态怎么用?
数据库·mysql·代码规范
测试界的小码农5 小时前
【图数据库实战进阶(01):从零认识 Neo4j,搭建第一个图数据库项目】
数据库·neo4j
x_SpiderMan5 小时前
搭建Oracle RAC 集群
数据库·oracle
测试界的小码农5 小时前
【图数据库实战进阶(03):Neo4j 图数据建模实战——节点、关系与属性应该怎么设计?】
数据库·oracle·neo4j
瑞克-桑切斯5 小时前
redis
数据库·redis·缓存