社区还有个类似的问题,请参阅: https://ask.dolphindb.net/question/681
回答于 2021-07-17 21:19
现在的查询会去检查指定日期前的所有数据,涉及太多分区,所以比较慢。可以在where 中缩小一下时间范围,比如再加一个条件TradingDate>=2020.07.01
回答于 2021-07-15 18:19
手册中rank用法: rank(X, [ascending=true], [groupNum], [ignoreNA=true], [tiesMethod=’min’]) 中括号表示可选参数,上述代码中把中括号去掉,10改成groupNum=10就可以了 select rank(close, ascending=true,groupNum=10,tiesMethod='min') from t context by ticker
回答于 2021-07-15 16:50
用户手册https://www.dolphindb.cn/cn/help/FunctionsandCommands/CommandsReferences/closeSessions.html 有个例子可参阅一下: 在例子中,closeSessions(getSessionMemoryStat().sessionId[1]); 这里1是getSessionMemoryStat()返回的结果集的第2条记录,不是sessionId。
回答于 2021-07-14 17:20
计算结果是一个n * 1的矩阵,所以报错,你把结果转成一个vector即可:dot(....).reshape()。 update aa_copy set front_snap = reshape(dot((matrix([ask_volume1,ask_volume2,ask_volume3,ask_volume4,ask_volume5])-matrix([move(ask_volume1,1),move(ask_volume2,1),move(ask_volume3,1),move(ask_volume4,1),move(...
回答于 2021-07-13 17:28
请用mask函数实现,示例如下: t=table(1 2 3 as ap1, 1 2 3 as ap2, 1 2 3 as av1, 1 2 3 as av2) p=1update t set sumAskVol = mask(matrix(av1, av2), matrix(ap1, ap2) <= p).rowSum()
回答于 2021-07-05 16:58
DolphinDB提供了一系列row开头的函数,可以对表中的每一行进行计算,比如rowAnd,rowSum等,这里可用rowMin取这些列的最小值: select index from t where rowMin(colume1, colume2, ...) > p
回答于 2021-07-05 13:43