【问题标题】:KDB Discrete Select Multiple itemsKDB 离散选择多个项目
【发布时间】:2022-01-06 12:16:21
【问题描述】:

在 FIX 架构中,我有一个名为 channelID 的列。 channelID 列的值可以是 SERVERNAME-Inbound、SERVERNAME-Client、SERVERNAME-Venue。

目前尝试通过以下方式选择前 10,000 行来进行有效选择:

'time xdesc select [2500] from table_name where (channelID like "*Inbound)

这很有效,可以检索 channelID 具有 Inbound 的前 2,500 行。

我想有效地运行一个查询,选择通道 ID 为“Inbound”、“Client”或“Venue”的前 2500 个实例。

我在这里唯一的思考过程是在表上进行自联接。结果集应为 7,500 行,其中每个 channelID(“Inbound”、“Client”或“Venue”)有 2,500 个。

有什么想法吗?

【问题讨论】:

    标签: select kdb


    【解决方案1】:

    我认为您可能正在寻找类似的东西:

    select from table_name where any channelId like/: ("*Inbound";"*Client";"*Venue"), 2499 >= (iasc;i) fby channelID
    

    where 子句的第一部分将把表过滤到只有那些 channelID 位于您要查找的 ID 中的行。
    第二部分将采用该子表并使用fby 返回每​​个剩余通道ID 集中的索引小于或等于2499 的位置(由于索引从0 开始)。

    【讨论】:

      猜你喜欢
      • 2016-04-03
      • 2023-01-04
      • 2011-09-08
      • 1970-01-01
      • 2022-12-10
      • 2020-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多