记录一些常用的函数及用法
--查询份额大于1w的投资人信息。
-
聚合数据的筛选:当你需要基于聚合函数(如
SUM()
,AVG()
,MAX()
,MIN()
,COUNT()
等)的结果来过滤记录时,使用HAVING
子句。 -
组合条件:
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
子句在数据分组后对聚合函数的结果进行过滤。