可以用元编程写,比如 sql(sqlCol(["col1", "col2", "col3"], avg), t), 其中 ["col1", "col2", "col3"] 这部分可以用 t.colNames() 获取后删除不想要的列;都是数值也可以存成矩阵,matrix(t.values()[1:]).rename!(t.values()[0],),然后对矩阵求 avg
回答于 2024-01-05 14:04
如果是内存表的话,可以用索引过滤,类似: t = table(`bb`bb`aa`aa as id, NULL NULL 3 4 as val)t = t[t.val!=NULL] 如果是分布式表,需要使用 SQL 语句: delete from tb where nullCol is null
回答于 2024-01-05 13:59
是的, 持久化参数默认 retentionMinutes= 1440 分钟,即一天,会自动删除之前持久化的数据。
回答于 2023-12-01 15:16
如果您是 month 分区,目前 in 是无法触发分区剪枝的,您可以使用 sqlDS 验证一下涉及的分区数。如果没有触发剪枝可以额外加一个 month 的过滤条件,如: select * from t where date(datetime) in [2023.11.13], month(datetime) in month([2023.11.13]) 我们会在后续版本进行优化。
回答于 2023-12-01 11:56
检查以下对应 server 是否为 3.0 版本,若不是,需要指定 python 为 false 才能正常连接。因为 python 配置的是 python parser 的功能,只有 3.0 server 才支持。
回答于 2023-12-01 11:42
一般来说需要执行这个函数才能注册的对象,比如share函数里注册一个共享表(是函数不是share 语句),比如runScript 里执行的 script 有注册一个对象,再比如 undef 函数取消一个变量定义,这种需要执行这个函数内部的对象才能注册或者取消定义,且下文可能用到内部注册的对象的,都需要用 go 隔开。 一般场景都是部分函数...
回答于 2023-12-01 11:33
可以利用 accumulate 进行迭代运算: ov95 = 1 1 1 0 0 0 0 0 0ov97 = 0 0 0 0 0 0 1 1 1t = table(ov95, ov70)def myf(pos, ov95, ov70): iif(pos==0 and ov95 == 1, 1, iif(pos==1 and ov70 == 0, 0, pos))select ov95, ov70, accumulate(myf, [ov95, ov70], 0) as pos from t
回答于 2023-11-17 15:49
可以使用元编程或者 select * from t1 context by date(datetime),minute(datetime) limit 1
回答于 2023-11-17 15:26