select erpGoodsId,batchNum,count(1) from t1 where companyCode='10101' group by erpGoodsId,batchNum,这句sql转换为ES语句
时间: 2023-12-11 12:02:31 浏览: 106
SQL语句的各个关键字的解析过程详细总结
在Elasticsearch中,你需要使用聚合(Aggregation)来完成类似于SQL中的GROUP BY操作。下面是将你提供的SQL转换为Elasticsearch查询语句的示例:
```json
{
"size": 0,
"query": {
"term": {
"companyCode": {
"value": "10101"
}
}
},
"aggs": {
"group_by_goods_and_batch": {
"terms": {
"field": "erpGoodsId.keyword"
},
"aggs": {
"batch": {
"terms": {
"field": "batchNum.keyword"
},
"aggs": {
"count": {
"value_count": {
"field": "batchNum.keyword"
}
}
}
}
}
}
}
}
```
这个查询将会按照 `erpGoodsId` 和 `batchNum` 进行分组,并计算每个分组中的文档数(即 `count(1)`)。注意,在Elasticsearch中,你需要使用 `.keyword` 后缀来对字符串字段进行聚合操作。
希望这可以帮助到你!
阅读全文