使用GraphQL查询获取最大值和最小值 [英] Get max and min value using GraphQL query

查看:9
本文介绍了使用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 BYLIMIT查询MINMAX结果。

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆