采用java聚合分组:
需求:计算出每个项目在指定时间内,不同月份在各个区域的销售金额、面积和数量
思路:先按照项目分组,项目里先再按照时间分组再按照区域分组,区域分组里求出面积、金额、数量。最终查询的结果格式大概如下
{
"key": "dc090583-c910-48e3-bc57-c08e66d88954",
"projectName": {
"buckets": [
{
"key": "苏州新村"
}
]
},
"tradeData": {
"group_by_time": {
"buckets": [
{
"key_as_string": "2023年05月",
"region": {
"buckets": [
{
"key": "姑苏区",
"projectMoney": {
"value": 32000
},
"projectCount": {
"value": 25
},
"projectArea": {
"value": 1400
}
}
]
}
},
{
"key_as_string": "2023年06月",
"region": {
"buckets": [
{
"key": "姑苏区",
"projectMoney": {
"value": 3200000
},
"projectCount": {
"value": 35
},
"projectArea": {
"value": 1700
}
}
]
}
},
{
"key_as_string": "2023年08月",
"region": {
"buckets": [
{
"key": "姑苏区",
"projectMoney": {
"value": 2800
},
"projectCount": {
"value": 18
},
"projectArea": {
"value": 1000.7
}
}
]
}
},
{
"key_as_string": "2023年10月",
"region": {
"buckets": [
{
"key": "姑苏区",
"projectM