gpt4 book ai didi

mysql - 在 SQL 中选择行数据和缩放器

转载 作者:行者123 更新时间:2023-11-29 09:34:49 26 4
gpt4 key购买 nike

我有一个作业表,其中每个作业都有一些指标,例如成本、花费的时间等。我想为一组作业选择信息,例如请求者和作业操作,以及该行数据,选择一些高级指标(最小成本、最大成本、最短花费时间等)。

数据经常变化,所以我想在一次选择中获取这些信息。是否有可能做到这一点?我不确定这在概念上是否可行,因为数据库必须返回行级数据以及聚合数据。

现在我可以获得所有详细信息并计算最小值/最大值,如下所示:

select requestor, action, cost, time_taken from job;

但是我必须编写代码来查找最小值/最大值,并且当我实际上只对最小值/最大值感兴趣时,此查询必须下载所有成本/时间数据。我真的很想做这样的事情

select (min(cost), max(cost), min(time_taken), max(time_taken)), (requestor, action) from job;

并且先获取聚合数据,然后获取行级数据。这可能吗? (在真实的服务器上,这是在 MySQL 上,但对于开发人员,我在本地使用 sqlite,所以如果它也能在那里工作,那就太好了,但不是必需的)。

表格看起来像这样:

+----+-----------+--------+------+------------+
| id | requestor | action | cost | time_taken |
+----+-----------+--------+------+------------+
| 1 | 31233 | sync | 8 | 423.3 |
+----+-----------+--------+------+------------+
| 2 | 11229 | read | 1 | 1.3 |
+----+-----------+--------+------+------------+
| 3 | 1434 | edit | 5 | 152.8 |
+----+-----------+--------+------+------------+
| 4 | 101781 | sync | 12 | 712.1 |
+----+-----------+--------+------+------------+

我想取回统计数据:

最小/最大成本:1/12

最小/最大耗时:1.3/712.1

以及所有请求者和操作:

+-----------+--------+
| requestor | action |
+-----------+--------+
| 31233 | sync |
+-----------+--------+
| 11229 | read |
+-----------+--------+
| 1434 | edit |
+-----------+--------+
| 101781 | sync |
+-----------+--------+

最佳答案

你只是想要聚合吗?

select requestor, action, min(cost), max(cost), min(time_taken), max(time_taken),
from job
group by requestor, action;

关于mysql - 在 SQL 中选择行数据和缩放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57858901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com