为啥 TDengine 数据库在相同的过滤条件下不能返回相同数量的行?
Posted
技术标签:
【中文标题】为啥 TDengine 数据库在相同的过滤条件下不能返回相同数量的行?【英文标题】:Why TDengine database couldn't return same amount of rows under same filter condition?为什么 TDengine 数据库在相同的过滤条件下不能返回相同数量的行? 【发布时间】:2021-12-25 21:59:33 【问题描述】:我在相同的条件下使用这两个不同的 SQL,但没有返回相同数量的行。
select tableid from meters where ts<now;
tableid |
==============
1 |
2 |
Query OK, 2 row(s) in set (0.003475s)
第二条命令:
taos> select * from meters where ts<now;
ts | voltage | tableid |
======================================================
2021-11-11 11:24:54.333 | 0 | 2 |
2021-11-11 11:24:57.417 | 1 | 2 |
2021-11-11 11:25:22.108 | 9 | 2 |
2021-11-11 11:25:29.048 | 12 | 2 |
2021-11-11 11:26:13.160 | 22 | 2 |
2021-11-11 11:26:39.245 | 30 | 2 |
2021-11-11 11:26:51.911 | 22 | 2 |
2021-11-11 11:26:51.999 | 40 | 2 |
2021-11-12 15:43:21.245 | 90 | 2 |
2021-11-13 14:43:21.245 | 100 | 2 |
2021-11-11 11:24:20.928 | 0 | 1 |
2021-11-11 11:24:22.576 | 1 | 1 |
2021-11-11 11:24:24.250 | 2 | 1 |
2021-11-11 11:25:00.123 | 6 | 1 |
2021-11-11 11:25:35.188 | 9 | 1 |
2021-11-11 11:25:39.548 | 11 | 1 |
2021-11-11 11:26:51.999 | 60 | 1 |
2021-11-12 15:43:21.245 | 100 | 1 |
2021-11-13 15:43:21.245 | 100 | 1 |
Query OK, 19 row(s) in set (0.003994s)
这是一个错误吗?我使用的版本是TDengine database 2.2.1.3
【问题讨论】:
【参考方案1】:TDengine 的标签不是数据列。当你只选择标签时,它会显示它有多少个标签,但不等于数据列的数量。
如果你想得到相同的数量,只需在标签前添加任何数据列即可。
例如:
select ts,tableid from xxxxx
【讨论】:
以上是关于为啥 TDengine 数据库在相同的过滤条件下不能返回相同数量的行?的主要内容,如果未能解决你的问题,请参考以下文章
为啥TDengine由于Invalid table ID无法插入数据