clickhouse学习笔记-7-数据聚合
程序员文章站
2024-03-25 11:12:04
...
一、数值运算
-
sum
简单求和 -
sumWithOverflow
同步求和参数的数据类型,只适用于数字
-
sumIf
条件求和ifNull(x, alt)
x
- 是否为空值alt
- 为空,函数返回的值 -
intDivOrZero
除法 -
round
二、类型判断
ifNull
三、分组
argMin、argMax
argMin(arg, val)
取val最小时的arg值。如果有多个arg对应同一个最小值val,取遇到的第一个值,argMax同理
-- 应用
SELECT
id,
country,
argMax(uuid,local_modify_date) AS uuid,
argMax(name,local_modify_date) AS name
FROM
db.table_name
GROUP BY
id,
country
如果存在GROUP BY子句,则在该子句中必须包含一个表达式列表。其中每个表达式将会被称之为“key”。 SELECT,HAVING,ORDER BY子句中的表达式列表必须来自于这些“key”或聚合函数。简而言之,被选择的列中不能包含非聚合函数或key之外的其他列。
如果查询表达式列表中仅包含聚合函数,则可以省略GROUP BY子句,这时会假定将所有数据聚合成一组空“key”。
与SQL标准不同的是,如果表中不存在任何数据(可能表本身中就不存在任何数据,或者由于被WHERE条件过滤掉了),将返回一个空结果,而不是一个包含聚合函数初始值的结果。
在GROUP BY子句中不支持使用Array类型的列。
常量不能作为聚合函数的参数传入聚合函数中。例如: sum(1)。这种情况下你可以省略常量。例如:count()
。
NULL 处理
对于GROUP BY子句,ClickHouse将 NULL 解释为一个值,并且支持NULL=NULL
。
推荐阅读
-
clickhouse学习笔记-7-数据聚合
-
数据归一化学习笔记
-
solr学习笔记--从数据库中创建索引dataimport 博客分类: 热门技术 solr
-
(五)SpringMVC学习笔记-数据转换 & 数据格式化 & 数据校验
-
SpringMVC学习笔记 | 数据转换、数据格式化、数据校验
-
Xcode9学习笔记74 - 读取和解析Plist属性列表文件(获取远程服务器信息并显示返回数据)
-
SQLITE学习笔记一(打开、操作及关闭数据库,C程序实现)
-
SQLITE学习笔记一(打开、操作及关闭数据库,C程序实现)
-
SQLITE学习笔记二(数据库管理,命令行操作)
-
Angular学习笔记(十)之数据绑定