You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

kdb+ Q如何查询表中指定列等于特定值的所有行

kdb+ Q语言等值查询说明

你编写的基础查询语句语法完全正确,将占位符替换为实际的表名、列名、目标值即可运行:

select from tablname where columnvalue = value

举个实际可运行的参考示例:查询trade交易表中,股票代码sym等于IBM的全部行,写法如下:

select from trade where sym = `IBM

常见使用注意事项

  • Q语言对大小写敏感,表名、列名、符号类型值的大小写需要和实际存储完全一致才能匹配到结果
  • 不同类型的目标值写法有区别:
    • 符号类型(kdb+常用的枚举类值)需要加反引号前缀,比如`IBM
    • 字符串类型需要用双引号包裹,比如"test value"
    • 数值、日期等类型直接写原值即可,比如100、2024.05.20
  • 多条件查询直接在where子句后用逗号分隔条件即可,示例:
    select from trade where sym = `IBM, date = 2024.05.20, price > 100
    
  • 如果要匹配多个目标值,使用in操作符,示例查询sym为IBM或GOOG的全部行:
    select from trade where sym in `IBM`GOOG
    
  • 大数据量查询时,如果过滤列设置了sorted/partitioned等表属性,查询效率会有数量级提升,高频过滤场景建议给对应列添加属性。

内容的提问来源于stack exchange,提问作者bigdog123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 19:06:02