我做了一个简单的查询:
select sum(sol) from data
并为结果返回空白。我检查是否有任何null,它没有任何空值。我怎么知道出了什么问题?
答案 0 :(得分:2)
您的总和可能太大而无法存储为整数?这将创建一个空白/ null
q)tab:([] col1:1 2i,0Wi-1i)
q)
q)tab
col1
----------
1
2
2147483646
q)
q)meta tab
c | t f a
----| -----
col1| i
q)
q)
q)select sum col1 from tab
col1
----
q)
答案 1 :(得分:1)
确保您没有将结果分配给变量或以分号结束行,因为这会抑制结果的立即输出。
q)data:([]sol:1 2 3 4 5)
q)
q) /Expected result.
q)select sum(sol) from data
sol
---
15
q)
q) /Output suppressed by semi-colon.
q)select sum(sol) from data;
q)
q) /Output suppressed by variable assignment.
q)example:select sum(sol) from data
q)
此外,即使数据中没有记录(例如:count data = 0),它仍会输出列名,但下面没有结果。
q)data:([]sol:())
q)
q)select sum(sol) from data
sol
---
q)
数据集中的空值不应影响输出(至少为和),但如果要替换空值(例如,可以为零)
q)update 0^sol from `data
此用法是^ (fill)运算符。