Apache IoTDB 1.3.4通配符路径查询返回空结果问题排查
Apache IoTDB 1.3.4通配符路径查询问题解决
问题原因
你当前的通配符查询写法存在语法错误:FROM root.ln.wf01.uhf* 中,星号被放在了路径的反引号之外,IoTDB无法正确识别这是针对uhf前缀节点的通配匹配,反而会解析成无效路径,导致查询时无法匹配到uhf1、uhf2、uhf3这些实际存在的节点,最终返回0结果。
正确的查询写法
将通配符*包含在路径的反引号内部,让IoTDB正确识别需要匹配的节点前缀:
SELECT count(peak) FROM `root.ln.wf01.uhf*` WHERE peak < 10
执行该语句后,会正确返回各匹配路径的计数结果,符合你的预期:
+-----------------------------+-----------------------------+-----------------------------+ |count(`root.ln.wf01.uhf1.peak`)|count(`root.ln.wf01.uhf2.peak`)|count(`root.ln.wf01.uhf3.peak`)| +-----------------------------+-----------------------------+-----------------------------+ | 10| 4| 6| +-----------------------------+-----------------------------+-----------------------------+
补充说明
在IoTDB的SQL语法中,路径通配符*需要作为路径节点的一部分,与节点前缀写在一起并包裹在反引号内,才能被正确解析为匹配所有以该前缀命名的子节点。如果通配符位于路径引号之外,会被视为语法的无效部分,无法触发通配匹配逻辑。
内容的提问来源于stack exchange,提问作者Sunny Shang
相关产品推荐
相关产品推荐

