当前适用于中台北向接口【1.8 查询数据点自定义SQL历史值】里面的sql参数

IOTOSQL语法

该语法将物联中台中的sql引擎进行封装后开放出来,主要用于业务上的数据分析处理

支持的操作符号

= 等于
<> 不等于
!= 不等于
> 大于
>= 大于等于
< 小于
<= 小于等于

支持的运算符号

and 并且
or 或者

支持查询的字段名称以及规范

字段名称 说明
value 数据点为int、float、string、bool类型的时候用value字段查询,如:value<4
key和value 数据点为参数型(JSON)的时候,根据k-v里面的某个k进行查询,如:(key=’k2’ and value>83)

规范

  1. 当sql语句中有一个以上运算符的时候,请使用()包含起来,如(value=1 or value=0)
  2. 如果查询的是string的数据点,请注意将字符串用单引号包含起来,如:vale=’hello’
  3. 如果查询的是参数型(JSON)数据,需要根据k-v里面的某个k进行查询,可以通过key和value一起组合来进行过滤,如:(key=’k2’ and value>83)

示例

普通类型数据查询(int、float、string、bool)

  1. 查询数据点值大于40的数据
    value>40

  2. 查询数据点值大于40小于90的数据
    (value>40 and value<90)

  3. 查询数据点值大于40小于90或者大于100小于150的数据
    ((value>40 and value<90) or (value>100 and value<150))

参数型(JSON)数据查询

某个数据点历史json数据如下:

{"username": "user_a", "sex": 1, "score": 30, "class": "A"}
{"username": "user_b", "sex": 1, "score": 90, "class": "A"}
{"username": "user_c", "sex": 0, "score": 40, "class": "B"}
{"username": "user_d", "sex": 1, "score": 60, "class": "B"}
{"username": "user_e", "sex": 0, "score": 80, "class": "A"}
  1. 查询分数大于40的数据
    (key='score' and value>40)

  2. 查询分数大于40小于90的数据
    方法一:((key='score' and value>40) and (key='score' and value<90))
    方法二:(key='score' and value>40 and value<90)

  3. 查询分数大于40并且班级为B的数据
    ((key='score' and value>40) and (key='class' and value<'B'))

  4. 查询分数大于40并且班级为B并且性别为男生(sex=1)的数据
    ((key='score' and value>40) and (key='class' and value<'B') and (key='sex' and value<1))

作者:admin  创建时间:2021-12-06 17:27
最后编辑:admin  更新时间:2023-11-29 09:38