使用GraphQL查询获取最大值和最小值 [英] Get max and min value using GraphQL query
本文介绍了使用GraphQL查询获取最大值和最小值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我一直在使用GraphQL并触发查询,以便将JSON响应放入Reaction应用程序。
但我需要启动一个查询,该查询将返回该列中的最大值和最小值。
我已经翻阅了GraphQL的文档,但仍未找到完成此操作的方法。
{
schneider(where: {_and: [{device_time: {_gte: "2018-09-04T20:11:42.097+05:30"}}, {device_time: {_lte: "2018-09-04T20:12:43.187+05:30"}}]}) {
active_energy_received
}
}
上面的查询为我提供了介于提供的两个日期之间的值列表。
{
"data": {
"schneider": [
{
"active_energy_received": 0
},
{
"active_energy_received": 0
},
{
"active_energy_received": 0
},
{
"active_energy_received": 0
},
{
"active_energy_received": 0
},
{
"active_energy_received": 0
},
{
"active_energy_received": 0
},
{
"active_energy_received": 0
},
{
"active_energy_received": 0
},
{
"active_energy_received": 0
},
{
"active_energy_received": 4.3699998856
},
{
"active_energy_received": 0.82099998
},
{
"active_energy_received": 0.82099998
},
{
"active_energy_received": 4.3699998856
},
{
"active_energy_received": 0.82099998
},
{
"active_energy_received": 4.3699998856
},
{
"active_energy_received": 0.82099998
},
{
"active_energy_received": 4.3699998856
},
{
"active_energy_received": 0.82099998
},
{
"active_energy_received": 4.3699998856
},
{
"active_energy_received": 0.82099998
},
{
"active_energy_received": 4.3699998856
},
{
"active_energy_received": 0
},
{
"active_energy_received": 0.820999979972839
},
{
"active_energy_received": 4.3699998856
}
]
}
}
现在,我只需要此列表中的最大值和最小值,而不是所有值。
更新:
我正在对PostgreSQL使用hasura.io。
推荐答案
如果您使用的是Hasura.io,则可以使用自定义的ORDER BY
和LIMIT
查询MIN
和MAX
结果。
MAX
值示例:
query {
table_name(limit: 1, order_by: {time: desc}) {
data
time
}
}
MIN
值示例:
query {
table_name(limit: 1, order_by: {time: asc}) {
data
time
}
}
这篇关于使用GraphQL查询获取最大值和最小值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文