我对GraphQL的分析解决方案非常感兴趣(想想一个显示图形的webapp)。但我找不到任何使用聚合函数的GraphQL示例。这是我的前端完成的大多数查询的一个主要方面。
对于我的解决方案,我们有3个典型的后端调用。
假设我们在GraphQL中指定了这种类型
type Person {
name: String
age: Int
create_time: Date
}
GraphQL似乎很好地处理了这一点。毫无疑问。
ex.搜索Bob的年龄{Person(name:"Bob"){age}}
这是我希望在饼图中显示信息的典型情况。假设我想按年龄统计人数。
以下是PostgreSQL查询:
SELECT age, count(*) from Ticket group by age;
什么是等效的GraphQL?
比方说,我想计算每小时创建的用户数。
以下是PostgreSQL查询:
SELECT date_trunc('hour', create_time) as create_time_bin, count(*) from Person group by create_time_bin order by create_time_bin ASC;
什么是GraphQL等效查询?
退房https://github.com/niclasko/Cypher.js(注:我是作者)
与问题相关。它可用于查询和聚合来自JSONendpoint的数据:
load json from "http://url/person" as l return l.age, count(1)
甚至还有条形图功能:
load json from "http://url/person" as l return barchart(toint(l.age)) as age_distribution
下面是一个查询复杂JSON文档并对其执行聚合分析的示例:
Cypher.jsJSON查询示例
@Damien,这些问题不是GraphQL的问题。
每当您想在GraphQL中执行某些操作时,都必须定义一种返回数据类型、您实现的函数规范,有时还必须定义一种输入数据类型,以便输入到您的函数中。最后编写代码来完成这项工作。
事实上,看起来您(重新)使用GraphQL语言编写代码。
以要在饼图中显示信息的示例为例:
SELECT age, count(*) from Ticket group by age;
定义您的退货数据这里是年龄和计数列表:
type TickGroupByAge {
age: Int
count: Int
}
用GraphQL语言定义函数或查询:
getTicketGroupByAge : [TickGroupByAge]`
最后编写一个函数来实现上述查询:
async function(){
const res = await client.query("SELECT age, count(*) from Ticket group by age");
return res.rows;
}
@Ryan我完全同意您的看法,GraphQL迫使您编写大量类型定义来解决一个简单的任务。出于这个原因,我最终构建了自己的NextQL-GraphQL类引擎,它与GraphQL类似,但更简单。
我的项目支持复杂的嵌套类型定义,这使您不必定义许多无用的类型定义。
一天结束时,GraphQL会用您定义的类型进行响应。您只需要将该数据放入一个类型中。无论这是这些不同查询的特定类型,还是现有类型上数据的字段,都取决于您,但归根结底就是这些。GraphQL确实需要在定义类型和所有查询返回的内容方面付出更多的努力,这使得它更加严格,但其思想是,在另一方面存在一些很酷的特性,比如内省和类型检查。如果将这种“特殊”数据结构放入GraphQL类型似乎没有逻辑意义,那么如果您需要其他数据源,使用非GraphQLendpoint并不违法。
我需要聚合一个基于1分钟时间间隔的数据集。当我尝试此操作时,它会抛出错误: 我的数据集如下所示 org.apache.spark.sql.AnalysisException:无法解析(datetime,value)中的列名“60秒”;在org.apache.spark.sql.dataset$$anonfun$resolve$1.apply(dataset.scala:216)在org.apach
弹性搜索不推荐使用方面,建议使用聚合(http://www.Elastic.co/guide/en/elasticsearch/reference/1.x/search-aggregations.html)。 Spring数据弹性搜索目前支持这个吗? 如果有,有样品吗?
主要内容:1.COUNT函数,2. SUM函数,3. AVG函数,4. MAX函数,5. MIN函数SQL聚合函数用于对表的单个列的多行执行计算,它只返回一个值。它还用于汇总数据。 SQL聚合函数的类型,如下图所示 - 接下来,我们一个个地讲解。 1.COUNT函数 函数用于计算数据库表中的行数,它可以在数字和非数字数据类型上工作。 函数使用返回指定表中所有行的计数。 包函重复值和值。 语法 假设有一个表,它的结构和数据如下所示 - PRODUCT COMPANY QTY RATE COST I
问题内容: 在解释CTE的一些概念时,有人问了一个可爱的问题..我们可以找到行的乘法吗,而我们总是从新手开始集中精力。那给了我一个想法!仅使用SQL是否有可能。我还考虑了我们甚至可以支持的最大精度,因为该产品可能非常庞大。 话虽如此,我们不能编写自己的聚合函数。(可以吗?)我在想仅使用SQL就有可能。 我想到的就像是自己添加2,3次。.但是当集合很大时..由于繁琐,我无法实现。 另一个可能是和,为
在介绍 Django 中 ORM 模型的聚合函数之前,我们先要了解下 MySQL 中常用的聚合函数。首先同样是准备数据,使用我i们之前在第 18 小节中完成的插入 100 条数据的代码,重新执行一次: (django-manual) [root@server test]# python insert_records.py 批量插入完成 此时,连同上次操作剩余的两条会员记录,数据库中总共有 10
查看SQL的ANSI聚合函数,我找不到字符串的任何东西。但是,每个数据库似乎都有自己的数据库,例如MySQL和Oracle的GROUP_CONCAT和LISTAGG,这使得可移植性有点困难。我是不是缺了什么?这是有原因的吗?