查询结果集格式
在 IoTDB 中,查询结果集默认按照时间对齐,同时支持另外两种结果返回形式:
- 设备时间对齐
align by device - 时序不对齐
disable align
注意:对齐方式子句只能用于查询语句句尾。
按设备对齐
在 align by device 对齐方式下,设备名会单独作为一列出现。如果 select 子句中有 n 列,最终结果就会有该 n + 2 列(时间列和设备名字列)。
SQL 形如:
1. select * from root.ln.** where time <= 2017-11-01T00:01:00 align by device
结果如下:
1. +-----------------------------+-----------------+-----------+------+--------+
2. | Time| Device|temperature|status|hardware|
3. +-----------------------------+-----------------+-----------+------+--------+
4. |2017-11-01T00:00:00.000+08:00|root.ln.wf01.wt01| 25.96| true| null|
5. |2017-11-01T00:01:00.000+08:00|root.ln.wf01.wt01| 24.36| true| null|
6. |1970-01-01T08:00:00.001+08:00|root.ln.wf02.wt02| null| true| v1|
7. |1970-01-01T08:00:00.002+08:00|root.ln.wf02.wt02| null| false| v2|
8. |2017-11-01T00:00:00.000+08:00|root.ln.wf02.wt02| null| true| v2|
9. |2017-11-01T00:01:00.000+08:00|root.ln.wf02.wt02| null| true| v2|
10. +-----------------------------+-----------------+-----------+------+--------+
11. Total line number = 6
12. It costs 0.012s
时序不对齐
在 disable align 对齐方式下,如果 select 子句中有 n 列,最终结果就会有该 n * 2 列(时间序列的时间和值)。
注:时序不对齐方式不能用于聚合查询、空值填充,但可使用 Limit 和 Offset 语句进行分页。
SQL 形如:
1. select * from root.ln.** where time <= 2017-11-01T00:01:00 disable align
结果如下:
1. +-----------------------------+--------------------------+-----------------------------+------------------------+-----------------------------+-----------------------------+-----------------------------+------------------------+
2. | Time|root.ln.wf02.wt02.hardware| Time|root.ln.wf02.wt02.status| Time|root.ln.wf01.wt01.temperature| Time|root.ln.wf01.wt01.status|
3. +-----------------------------+--------------------------+-----------------------------+------------------------+-----------------------------+-----------------------------+-----------------------------+------------------------+
4. |1970-01-01T08:00:00.001+08:00| v1|1970-01-01T08:00:00.001+08:00| true|2017-11-01T00:00:00.000+08:00| 25.96|2017-11-01T00:00:00.000+08:00| true|
5. |1970-01-01T08:00:00.002+08:00| v2|1970-01-01T08:00:00.002+08:00| false|2017-11-01T00:01:00.000+08:00| 24.36|2017-11-01T00:01:00.000+08:00| true|
6. |2017-11-01T00:00:00.000+08:00| v2|2017-11-01T00:00:00.000+08:00| true| null| null| null| null|
7. |2017-11-01T00:01:00.000+08:00| v2|2017-11-01T00:01:00.000+08:00| true| null| null| null| null|
8. +-----------------------------+--------------------------+-----------------------------+------------------------+-----------------------------+-----------------------------+-----------------------------+------------------------+
9. Total line number = 4
10. It costs 0.018s
