如何在DolphinDB中根据名称快速过滤列?

问题描述 投票:0回答:1

假设有“event_i_j”形式的列名(“i”和“j”代表数字),例如“event_1_5”和“event_5_1”。如何快速选择 i > j 的?

以下面脚本生成的表t为例:

t = table(1 2 3 4 as event_1_5, 1 3 4 5 as event_2_5, 1 2 3 4 as event_5_1, 1 2 3 4 as event_5_8, 1 2 3 4 as event_6_3)

如何从t中选择“event_5_1”和“event_6_3”?

sql select dolphindb
1个回答
0
投票

您可以使用

split
函数将每个列名称拆分为“event”、“i”和“j”。比较“i”和“j”并选择 i > j 的。以下是使用元编程生成的 SQL 脚本示例:

t = table(1 2 3 4 as event_1_5, 1 3 4 5 as event_2_5, 1 2 3 4 as event_5_1, 1 2 3 4 as event_5_8, 1 2 3 4 as event_6_3)
colNames=t.columnNames()
s=split(colNames,"_")
cols=colNames[each(x->int(x[1])>int(x[2]), s)]
sql(select=sqlCol(cols), from=t).eval()
© www.soinside.com 2019 - 2024. All rights reserved.