查询结果集格式

在 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