在DolphinDB中调用sqlDS时选择特定的分区

时间:2019-05-09 10:58:39

标签: dolphindb

在DolphinDB中,我可以使用sqlDS通过提供SQL元代码来生成数据源。通常,sqlDS将返回一个元组,其中每个元素对应于数据库中的分区。

有时候我已经知道需要哪些分区,不需要分区,但是sqlDS将始终返回所有可能的数据源。我想知道是否可以选择分区,并让sqlDS仅在那些分区中返回数据源。

例如,我有一个数据库和一个像这样的表:

db = database("test", VALUE, 2019.01M 2019.02M 2019.03M 2019.04M)
t = table(2019.01.01T01:23:45 2019.02.01T01:23:45 2019.03.01T01:23:45 2019.04.01T01:23:45 as time)
pt = db.createPartitionedTable(t, `t, `time)
pt.append!(t)
pt = db.loadTable(`t)

我想使用sqlDS仅在分区2019.03M中生成数据源:

sqlDS(<select * from pt where month(time) = 2019.03M>)

DolphinDB似乎不知道此查询将仅从分区2019.03M中检索数据,而我得到的是一个包含4个元素的元组:

(
    DataSource< select [7] * from pt where month(time) == 2019.03M [partition = 201901M] >,
    DataSource< select [7] * from pt where month(time) == 2019.03M [partition = 201902M] >,
    DataSource< select [7] * from pt where month(time) == 2019.03M [partition = 201903M] >,
    DataSource< select [7] * from pt where month(time) == 2019.03M [partition = 201904M] >
)

我真正想要的是只有一个这样的元素的元组:

(
    DataSource< select [7] * from pt where month(time) == 2019.03M [partition = 201903M] >
)

我阅读了sqlDS函数的文档,但似乎没有提供控制分区选择的参数。我想知道在调用sqlDS时是否有一种很好的方法来限制分区的选择。

0 个答案:

没有答案