【发布时间】:2021-11-08 17:52:28
【问题描述】:
我想获取基于货币的 emp 工资的最大值和最小值。每个员工都有一个基于货币的工资范围,所有响应的细节都应该是唯一的。虽然我使用聚合函数 min 和 max 但它获取工资金额的最大值和最小值,但我需要根据货币字段获取最大值和最小值。
样本数据:
[
{
"id": "1",
"emp_name": "emp1",
"data": [
{
"emp_country": "country1",
"emp_city": "city1",
"salary": [
{
"INR": 5000
},
{
"DOLLER": 600
},
{
"MXN": 200
}
]
},
{
"emp_country": "country1",
"emp_city": "city2",
"salary": [
{
"INR": 600
},
{
"DOLLER": 200
},
{
"MXN": 400
}
]
}
]
},
{
"id": "2",
"emp_name": "emp2",
"data": [
{
"emp_country": "country2",
"emp_city": "city2",
"salary": [
{
"INR": 5000
},
{
"MXN": 200
},
{
"DOLLER": 400
}
]
}
]
},
{
"id": "3",
"emp_name": "emp3",
"data": [
{
"emp_country": "country1",
"emp_city": "city1",
"salary": [
{
"MXN": 400
}
]
}
]
},
{
"id": "4",
"emp_name": "emp4",
"data": [
{
"emp_country": "country1",
"emp_city": "city2",
"salary": [
{
"DOLLER": 200
}
]
}
]
}
]
预期输出:城市、国家/地区,名称应该是唯一的,并且薪水具有基于货币的最大值和最小值。
[
{
"emp_city": "city1",
"emp_country": "country1",
"emp_name": "emp1",
"emp_salary": [{
"currency": "INR",
"max": 5000,
"min": 600
},
{
"currency": "DOLLER",
"max": 600,
"min": 200
},
{
"currency": "MXN",
"max": 400,
"min": 200
}]
},
{
"emp_city": "city2",
"emp_country": "country1",
"emp_name": "emp1",
"emp_salary":[ {
"currency": "DOLLER",
"max": 5000,
"min": 200
},
{
"currency": "MXN",
"max": 400,
"min": 400
}]
},
{
"emp_city": "city2",
"emp_country": "country2",
"emp_name": "emp2",
"emp_salary": [{
"currency": "INR",
"max": 5000,
"min": 5000
},
{
"currency": "MXN",
"max": 400,
"min": 200
}]
},
{
"emp_city": "city1",
"emp_country": "country1",
"emp_name": "emp3",
"emp_salary": [{
"currency": "MXN",
"max": 400,
"min": 400
}]
},
{
"emp_city": "city2",
"emp_country": "country1",
"emp_name": "emp4",
"emp_salary": [{
"currency": "DOLLER",
"max": 200,
"min": 200
}]
}
]
【问题讨论】: