gpt4 book ai didi

mysql - 如何构造具有不同聚合的 SQL 查询

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

我有以下数据:

 Date   ID Type Cost
May 01 a A 1
May 01 b A 2
May 01 c B 3
May 01 d B 4
May 02 e A 5
May 02 f A 6
May 02 g B 7
May 02 h B 8

我想要一个显示的查询

Date       Type CostPercentage
May 01 A (1+2) / (1+2+3+4)
May 01 B (3+4) / (1+2+3+4)
May 02 A (5+6) / (5+6+7+8)
May 02 B (7+8) / (5+6+7+8)

我目前拥有的是

select Date, Type, sum(cost)
from mytable
group by Date, Type

我真的很想显示百分比,但这将涉及除掉另一个本身就是聚合的数字。

我应该怎么做?

已编辑以反射(reflect)我的实际问题。我之前过度简化了它。

最佳答案

您可以使用子查询:

select  dt.Date
, dt.Type
, SUM(dt.Cost) as DayTypeTotal
, (select SUM(Cost) from @t d where d.Date = dt.Date) as DayTotal
, 100.0 * SUM(dt.Cost) /
(select SUM(Cost) from @t d where d.Date = dt.Date) as Percentage
from @t dt
group by
dt.Date
, dt.Type

链接到 working example @odata .

关于mysql - 如何构造具有不同聚合的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5244837/

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