螺旋数据集语法规则
在查询中,填写的是一个json语句,主要包含下面的字段
$select字段
$cal字段
$group字段
$order字段
$filter字段
$limit字段
$formula字段
组合字段
下面就详细的描述每个字段的含义以及其用法。
$select字段key为固定的"$select"。
value为一个数组,表示要筛选的列,数组元素可以是单一列名,也可以是列名和别名的描述信息。
// {"$select":} //暂时还不能重命名
{"$select":"*"}相当于SQL语句:
// select 姓名 as 名字,salary from tableA
select * from tableA
预览结果
81648
$cal字段key为固定"$cal"
value为JSON数组,数组中对象为计算指标与字段名称的键值对和"$as"和别名键值对。
$count汇总
$distinctCount不同值的汇总
$max最大
$min最小
$sum求和
{"$cal":}相当于SQL语句:
select count(年龄) as ca from tableName预览结果
81651
$group字段
key为固定"$group"
value为JSON数组,为全部分组字段名称数组。
查询语句:
{"$group":}相当于SQL语句:
select 工龄,年龄 from tableName GROUP BY "工龄","年龄"预览结果
81652
$order字段
key为固定"$order"value为JSON数组,为全部分组字段名称与排序方式的对象数组其中1表示正序,-1表示倒序。
查询语句:
{
"$order": [
{
"年龄": 1
},
{
"工龄": -1
}
]
}相当于SQl语句:
select * from tableName Order BY 年龄 ASC,工龄 DESC预览结果
81653
$filter字段
key为固定"$filter"value为JSON对象,为过滤条件对象过滤条件对象比较复杂,能够使用$and、$or进行逻辑关联下一层的过滤条件对象。最底层过滤条件对象key为下面表格的12中逻辑,value为字段名与真实值。
或者后四个判断为null的逻辑,value为字段名。
$eq等于
$ne不等于
$lt小于
$le小于等于
$gt大于
$ge大于等于
$notContains不包含
$contains包含
$endWith以。。。结尾
$beginWith
以。。。开头
$notEndWith
不以。。。结尾
$notBeginWith
不以。。。开头
$isNotNull
不为空
$isNull
为空
$isStringNotNull
字符串不为空
$isStringNull
字符串为空
{
"$filter":{
"$and":[
{
"$ge":{
"年龄":30
}
},
{
"$lt":{
"工龄":10
}
},
{
"$isNotNull":"id"
}
]
}
}
相当于SQL语句:
select * from tableName where 年龄>=30 and 工龄<10 and id is not NULL
预览结果
81654
$limit字段key为固定的"$limit"。
value为一个json对象。
”$offset"的value值为指定从那一行开始
"$num"的value值为指定的返回行数
{
"$limit":{
"$offset":100,
"$num":200
}
}
相当于SQl语句:
select * from tableName limit 200 offset 100
预览结果
81655
$formula字段$formula为一个JSON数组,每一个对象为一个计算指标。key为计算指标新生成的字段名,value为计算公式。计算公式见详情 。
{
"$select":"*",
"$formula":[
{"$name":"sum","$content":"sum($年龄,$工龄)"},
{"$name":"max","$content":"max($年龄,$工龄)"},
]
}
相当于SQL语句:
select *,sum(年龄,工龄)as sum,max(年龄,工龄)as max from tableName
预览结果
81656
组合字段在json中可以同时使用多个字段进行
{
"$select":,
"$filter":{
"$and":[
{"$gt":{"年龄":20}},{"$lt":{"年龄":40}}
]
},
"$order":[
{"年龄":-1 },
{"工龄":1}
],
"$formula":[
{"$name":"sum","$content":"sum($年龄,$工龄)"}
]
}
相当于SQL语句:
select 年龄,工龄,sum(年龄,工龄)as sum from tableName where 年龄>20 and 年龄<40 Order BY 年龄 DESC,工龄
预览结果
81657
编辑于 2017-10-20 11:51
编辑于 2017-10-20 14:50
编辑于 2017-10-20 15:02
编辑于 2017-10-21 09:21