gpt4 book ai didi

mysql - 如何优化SQL中的子查询?

转载 作者:行者123 更新时间:2023-11-29 02:41:55 25 4
gpt4 key购买 nike

我有一个数据集,列样本信息如下:

Date     ID     Cost
05/01 1001 30
05/01 1024 19
05/01 1001 29
05/02 1001 28
05/02 1002 19
05/02 1008 16
05/03 1017 89
05/04 1003 28
05/04 1001 16
05/05 1017 28
05/06 1002 44
... etc...

我想创建一个表来显示每天的最高付款人(花费最多),这意味着表中只有两列,输出示例应该是这样的:

Date      ID
05/01 1001
05/02 1001
05/03 1017
05/04 1003
...etc...

我知道这个问题很简单,我的问题是我想简化查询。

我的查询:

select Date, ID
from (select Date, ID, max(SumCost)
from (select Date, ID, sum(cost) as SumCost
from table1
group by Date, ID) a
group by Date, ID) b;

这似乎有点愚蠢,我想优化查询。重点是我只想输出Date和Id这两列。

有什么建议吗?

最佳答案

下面是一个使用相关子查询的方法:

select t.*
from t
where t.cost = (select max(t2.cost) from t t2 where t2.date = t.date);

关于mysql - 如何优化SQL中的子查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49892814/

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