gpt4 book ai didi

sql - sql中的sumProduct

转载 作者:行者123 更新时间:2023-12-05 00:41:29 24 4
gpt4 key购买 nike

我正在尝试在服务器上的表中实现 sumproduct(来自 excel)。

select * 
into #myTable2
from #myTable1

select
a,
b,
c,
d,
e,
(
select (c * e)/100*3423) from #myTable1 t1
inner join #myTable t2
on t1.b = t2.b
where b like 'axr%'
) as sumProduct
from #myTable1

但这并不完全奏效。无法发现错误,也许我只是累了或错过了它。

编辑:样本数据和预期结果

只提及重要的列

c     e    b        a                             sumProduct      
2 4 axr1 2012.03.01 2*4 + 3*8
3 8 axr3 2012.03.01 2*4 + 3*8
7 5 axr23 2011.01.01 7*5 + 3*2
3 2 axr34 2011.01.01 7*5 + 3*2

EDIT2:我需要一些语法方面的帮助。我正在尝试重写这部分:

select (c * e)/100*3423) from #myTable1 t1
inner join #myTable t2
on t1.b = t2.b
where b like 'axr%'
) as sumProduct
from #myTable1

作为

case
when t.b like 'axr%' then
(sum(t.c * t.e) /100*3234) end as sumProduct from #myTable t

语法不正确,但应该可以这样工作

编辑 3:让它工作像这样:

case
when b like 'axr%' then
(sum(c*e)/100*3423)end as sumProduct

在代码的最后

group by  --had an error without this
a,b,c,d,e

我如何为每个日期执行此操作(假设日期是“a”列或任何名称)。 我怎样才能在上面的代码中合并 over (partition by a)

想要类似的东西

case 
when b like 'axr%' then
(sum(c*e)/100*3423 over (partition by a))end as sumProduct

最佳答案

求和积的语法在 SQL 中非常简单:

select sum(c * e)
from #mytable1;

我不太确定这如何应用于您的查询,其中似乎有其他逻辑。

编辑:

你想要一个窗口函数:

select t.*,
sum(c*e) over (partition by a)
from #mytable1;

关于sql - sql中的sumProduct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32522130/

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