sql - 如果有空值,列的聚合函数?
问题描述
如果我在具有如下数值的列上运行聚合函数:
Select Name, count(Miles) as number from tbl
如果某些名称null
在列中有值Miles
,将如何处理?
如果它是一个具有其他值的名称,则它不会被计算在内,但如果它是只有空值且没有数字的名称,它将如何显示在输出中?
解决方案
Select Name, count(Miles) as number from tbl
我假设您... GROUP BY Name
的查询中也有。
如果它是一个具有其他值的名称,则它不会被计算在内,但如果它是只有空值且没有数字的名称,它将如何显示在输出中?
它将以 0 计数包含在输出中。
例子:
presto:default> SELECT name, count(value)
-> FROM (VALUES ('a', 1), ('b', NULL)) t(name, value)
-> GROUP BY name;
name | _col1
------+-------
b | 0
a | 1
(2 rows)
(在 Presto 327 上验证)
推荐阅读
- spring-boot - Jackson Object Mapper 在提供扩展配置时不工作,但在 Spring Boot 中提供类级别/字段级别注释时工作
- ansible - 使用 Ansible 将启动磁盘(如果存在)附加到 Gcloud 实例
- python - Kivy 数字时钟问题
- c# - PostSharp 将调用堆栈显示为“方面代码”并降低调用堆栈的可用性
- vue.js - 如何在 Vue Js 中传递组件以在 props 中呈现?
- cakephp - 升级到cakephp3.6后无法修改header信息
- c - 在 Swift 中从 C 回调中修改值 char** 并避免 EXC_BAD_ACCESS
- kotlin - 为同一个类中的多个服务方法实现 Retrofit 的 Callback 接口
- python - 美丽的汤 insert_before 和 after 不工作
- wordpress - 我可以将 anuglar 应用程序添加到我的 wordpress 网站吗?