标签: aggregate-functions

不使用聚合函数的关系代数查询

数据库系统主题考试任务:

我有以下架构:

Excavator(EID, Type) - EID is a key
Company(Name, HQLocation) - Name is a key
Work(Name, EID, Site, Date) - All collumns together form a key
Run Code Online (Sandbox Code Playgroud)

我必须用关系代数编写这个查询:

"Which company was digging on exactly one site on 1st of May?"
Run Code Online (Sandbox Code Playgroud)

我不知道如何在没有聚合函数(计数)的情况下表达它。我知道人们将这些函数添加到关系代数中,但我们在这次考试期间被禁止这样做。

您可以使用标准集合运算、除法、投影、选择、连接、笛卡尔积。

database relational-algebra aggregate-functions

1
推荐指数
1
解决办法
3627
查看次数

如何聚合 Spring Batch 作业中的完整数据集?

我需要在 Spring Batch 作业中插入聚合。但是聚合步骤需要有整个数据集可用。

在纯 SQL 中,很容易编写 SQL 聚合请求:完整的数据集(存储在数据库中)可用。

但是在 Spring Batch 作业中,一切都在内存中完成,并以分块方式传播。那么如何处理那种散落的数据呢?

您对插入聚合步骤/流程的最佳实践有什么建议吗?

非常感谢您的启发

aggregate-functions spring-batch

1
推荐指数
1
解决办法
2873
查看次数

Postgres“第一个”聚合函数

我正在使用文件 ID 字段聚合一个表。每个文件都有一个与一个(他的)文件 ID 完全匹配的名称。

select file_key, min(fullfilepath)
from table
group by file_key 
Run Code Online (Sandbox Code Playgroud)

因为我知道表的结构,所以我知道我需要任何完整文件路径。最小值和最大值都可以,但是需要很多时间。

我遇到了这个返回第一个值的聚合函数。不幸的是,这个函数需要很长时间,因为它会扫描整个表。例如,这非常慢:

select first(file_id) from table;
Run Code Online (Sandbox Code Playgroud)

最快的方法是什么?有或没有聚合功能。

postgresql aggregate-functions

1
推荐指数
1
解决办法
2万
查看次数

在 PostgreSQL 中递归聚合父项

在子-父表中,我需要汇总每个子项的所有父项。我可以很容易地在 CTE 查询中为每个父母获取孩子,但无法弄清楚如何反转它(这里是 sqfiddle)。鉴于这种:

CREATE TABLE rel(
  child integer,
  parent integer
);

INSERT INTO rel(child, parent)
VALUES
(1,NULL),
(2,1),
(3,1),
(4,3),
(5,2),
(6,4),
(7,2),
(8,7),
(9,8);
Run Code Online (Sandbox Code Playgroud)

将返回父数组的查询(顺序不重要):

1, {NULL}
2, {1}
3, {1}
4, {3,1}
5, {2,1}
6, {4,3,1}
7, {2,1}
8, {7,2,1}
9, {8,7,2,1}
Run Code Online (Sandbox Code Playgroud)

postgresql recursion parent-child aggregate-functions

1
推荐指数
1
解决办法
1304
查看次数

如何在 PostgreSQL 的同一个查询中使用两个 SUM() 聚合函数?

我有一个 PostgreSQL 查询,它产生以下结果:

SELECT   o.order || '-' || osh.ordinal_number AS order, 
         o.company,
         o.order_total,
         SUM(osh.items) AS order_shipment_total,
         o.order_type
FROM     orders o
         JOIN order_shipments osh ON o.order_id = osh.order_id
WHERE    o.order = [some order number]
GROUP BY o.order,
         o.company,
         o.order_total,
         o.order_type;

order   | company | order_total | order_shipment_total | order_type
-------------------------------------------------------------------
123-1   | A corp. | null        |  125.00              | new
123-2   | B corp. | null        |  100.00              | new
Run Code Online (Sandbox Code Playgroud)

我需要替换o.order_total(它不能正常工作)并总结 order_shipment_total 列的总和,这样,对于上面的例子,每一行都说 225.00。我需要上面的结果如下所示:

order   | company | order_total …
Run Code Online (Sandbox Code Playgroud)

sql postgresql group-by subquery aggregate-functions

1
推荐指数
1
解决办法
2566
查看次数

elasticsearch中对应的SQL聚合查询

我研究了elasticsearch聚合查询,但找不到它是否支持多个聚合函数。换句话说,我想知道elasticsearch是否可以生成与此Sql聚合查询等效的内容:

  SELECT account_no, transaction_type, count(account_no), sum(amount), max(amount) FROM index_name GROUP BY account_no, transaction_type Having count(account_no) > 10
Run Code Online (Sandbox Code Playgroud)

如果是,怎么办?谢谢。

aggregate-functions elasticsearch elasticsearch-aggregation elasticsearch-sql

1
推荐指数
1
解决办法
2043
查看次数

如何在mongodb聚合中获取两个日期之间的工作日数

我有两个日期Start Date: 2019-08-13End Date: 2019-08-20。我想结束日期的差异在工作日(节假日除外)项的开始日期。所以我的成绩会4作为2019-08-15一个节日和2019-08-172019-08-18是周末。

aggregate-functions mongodb mongodb-query aggregation-framework

1
推荐指数
1
解决办法
456
查看次数

STRING_AGG 具有不同的无子查询

这是我的数据

Code    SubCode    Colour     Fruit     Car     City     Name
A       A1         Red        Apple     Honda   Mel      John
A       A1         Green      Apple     Toyota  NYC      John
A       A1         Red        Banana    Honda   Lon      John
A       A1         Red        Banana    Opel    Mel      John
A       A2         ...
A       A2         ...
A       A3
A       A3
Run Code Online (Sandbox Code Playgroud)

这是我的sql

SELECT Code, SubCode, STRING_AGG(Colour, ',') STRING_AGG(Fruit, ',') STRING_AGG(Car, ',') STRING_AGG(City, ',') STRING_AGG(Name, ',')
FROM myTable
Run Code Online (Sandbox Code Playgroud)

我得到这个结果

Code    SubCode    Colour              Fruit                       Car                      City     Name
A       A1         Red,Green,Red,Red   Apple,Apple,Banana,Banan    Honda,Toyota,Honda,Opel  ...
Run Code Online (Sandbox Code Playgroud)

有没有办法让我的价值观与众不同

对于单个值,我可以创建一个子查询STRING_AGG? …

sql sql-server string subquery aggregate-functions

1
推荐指数
1
解决办法
229
查看次数

SQL 对列中所有值求和

我有一个包含 500 多行的表,我想对一列中的所有值求和。

例子:

 name  | number
 ----------------
 name1 | 25
 name2 | 10
 name3 | 5
 name4 | 20
Run Code Online (Sandbox Code Playgroud)

总金额为:60

我可以通过 PHP 做到这一点,但是可以使用 SQL 查询吗?

sql sum aggregate-functions

1
推荐指数
1
解决办法
1607
查看次数

如何连接两个表以显示每个 id 的销售额

我试图通过使用 id 组合两个表来显示每个 id 的总销售额。我有两个表 1. 用户表,2. 销售表

//user table

--------------
| id  | name  |
---------------
|  1  | yuki  |
|  2  | soman |
---------------


// sales table

--------------
| id  | total|
---------------
|  1  | 300  |
|  2  | 23   |
|  1  | 500  |
---------------
Run Code Online (Sandbox Code Playgroud)

通过我的查询,它只显示 1 个销售女巫是 yuki 的销售。


SELECT i.name,SUM(ROUND(s.total),2)) AS sales
FROM user i
INNER JOIN sales s
ON i.id = s.id
--------------
| name | sales|
---------------
| …
Run Code Online (Sandbox Code Playgroud)

mysql sql sum inner-join aggregate-functions

1
推荐指数
1
解决办法
30
查看次数