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 的记录。

HAVINGWHERE 子句的区别

  • WHERE 子句在数据分组前对行进行过滤,它不能使用聚合函数。如图所示,在where前面使用会报错ora-00933 sal命令未正确结束
  • HAVING 子句在数据分组后对聚合函数的结果进行过滤。
相关推荐
熏鱼的小迷弟Liu3 分钟前
【Redis】如何用Redis实现分布式Session?
数据库·redis·分布式
青~3 分钟前
数据库备份
数据库
jason.zeng@15022074 分钟前
基于数据库 + JWT 的 Spring Boot Security 完整示例
数据库·spring boot·oracle
DBA小马哥5 分钟前
金仓数据库在时序数据迁移中的应用与改造工作量解析
数据库·mongodb
焦糖布丁的午夜7 分钟前
数据库大王mysql---linux
linux·数据库·mysql
酒米_linyx7 分钟前
MariaDB数据库开启SSL 教程
数据库·ssl·mariadb
appearappear9 分钟前
IntelliJ IDEA 2025.3.1 中 Export → SQL Updates 不带 WHERE 的真实原因与解决方案(OpenAI 协助整理)
java·数据库
玄〤10 分钟前
黑马点评中的分布式锁设计与实现(Redis + Redisson)
java·数据库·redis·笔记·分布式·后端
老邓计算机毕设13 分钟前
SSM新华书店o2o服务系统89nml(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·客户管理·ssm 框架·新华书店 o2o·书籍管理
岁岁种桃花儿13 分钟前
深入理解MySQL SELECT语句执行顺序:从书写到内部流程全解析
数据库·mysql