【发布时间】:2019-10-30 18:06:44
【问题描述】:
对于学校,我必须使用窗口函数回答以下问题。
对于每一年、每个月、对于每个产品类别,请指明该月的营业额占该类别年营业额的百分比。
我尝试使用窗口功能,但它不起作用。因为我不知道如何使用 over (partition by) 功能
select
catcode,
year(besteldatum) as jaar,
month(besteldatum) as maand,
sum(regelomzet) as omzet,
sum(regelomzet) / (
select sum(regelomzet)
from ##joinall t2
where t2.catcode = t1.catcode
and year(t2.besteldatum) = year(t1.besteldatum)
) * 100 as perc
from ##joinall t1
group by catcode, year(besteldatum), month(besteldatum)
order by catcode, year(besteldatum), month(besteldatum)
【问题讨论】:
-
"我尝试使用窗口功能..." 那么它在哪里呢?
-
我删除了那部分,因为它不起作用,现在使用子查询,但我的老师需要查看窗口函数。我猜它会在总和之间(regelomzet 和 *100 perc。但我不确定
-
这就是这个网站的重点。您发布您的尝试(损坏的代码),我们可以尝试帮助您修复代码。发布有效的查询毫无意义。
-
select catcode, year(besteldatum) as jaar, month(besteldatum) as maand, (SUM(regelomzet) / SUM(regelomzet) OVER (PARITION BY catcode, year(besteldatum))) * 100 as perc from ##joinall group by catcode, year(besteldatum), month(besteldatum) order by catcode, year(besteldatum), month(besteldatum) 但是当我尝试这样的事情时,我得到一个错误
标签: sql window-functions