作者:YYCC77777 | 来源:互联网 | 2024-10-12 19:42
如果我在具有诸如以下数值的列上运行聚合函数:
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上验证)
,
请检查一下,也许您在这里有东西。
在这里您可以找到如何处理空值,请参见下面的示例。
CREATE TABLE #tbl
(
NAME VARCHAR(10),Miles VARCHAR(10) NULL
)
INSERT #tbl VALUES('A','A'),('B','B'),('C','C'),('D','D'),('A',NULL)
1)首先选择查询
Select Name,count(Miles) as number
from #tbl
GROUP BY NAME
输出
2)第二选择查询
Select Name,count(ISNULL(Miles,'YOU DEFAULT VALUE')) as number
from #tbl
GROUP BY NAME
输出