期间总和
Sum over period
我对行总和有一些疑问。我在 Teradata SQL Assistant 中有以下数据集:
id period avg_amt flag
111 1 123.5 1
211 1 143.1 1
311 2 122.1 1
411 3 214.5 1
511 3 124.6 0
611 3 153.2 1
我想根据时间段对标志求和。
我尝试的是以两种不同的方式在这段时间内使用求和函数:
select
id, period, avg_amt, flag, sum(flag) over (partition by id order by period)
from dataset
和
select
id, period, avg_amt, flag, sum(flag)
group by id, period, avg_amt, flag
from dataset
输出没有return我所期望的,即第 1 期总和=3,第 2 期总和 1,第 3 期总和 2。
你能告诉我哪里出了问题吗?谢谢
求简单求和:
select period, sum(flag) total_flag
from dataset
group by period
在 SQL 服务器中,要重新添加其余信息,您可以使用子查询并将其重新加入:
select id, dataset.period, avg_amt, flag, total_flag
from dataset
inner join (
select period, sum(flag) total_flag
from dataset
group by period
) TF on TF.period=dataset.period
我希望这对 teradata-sql-assistant 仍然有用。
我对行总和有一些疑问。我在 Teradata SQL Assistant 中有以下数据集:
id period avg_amt flag
111 1 123.5 1
211 1 143.1 1
311 2 122.1 1
411 3 214.5 1
511 3 124.6 0
611 3 153.2 1
我想根据时间段对标志求和。 我尝试的是以两种不同的方式在这段时间内使用求和函数:
select
id, period, avg_amt, flag, sum(flag) over (partition by id order by period)
from dataset
和
select
id, period, avg_amt, flag, sum(flag)
group by id, period, avg_amt, flag
from dataset
输出没有return我所期望的,即第 1 期总和=3,第 2 期总和 1,第 3 期总和 2。
你能告诉我哪里出了问题吗?谢谢
求简单求和:
select period, sum(flag) total_flag
from dataset
group by period
在 SQL 服务器中,要重新添加其余信息,您可以使用子查询并将其重新加入:
select id, dataset.period, avg_amt, flag, total_flag
from dataset
inner join (
select period, sum(flag) total_flag
from dataset
group by period
) TF on TF.period=dataset.period
我希望这对 teradata-sql-assistant 仍然有用。