我试图按年份和国家分组总销售额.这按预期工作:
SELECT Year, Country, SUM([Total Sales])
FROM Table
GROUP BY Country, Year;
Run Code Online (Sandbox Code Playgroud)
然后,我必须比较每个国家对一年总销售额的贡献.我这样做了:
SELECT Year, Country, SUM([Total Sales]),
SUM([Total Sales]) OVER(PARTITION BY Year)
FROM Table
GROUP BY Country, Year;
Run Code Online (Sandbox Code Playgroud)
这给了我这个错误:
列'Table.Total Sales'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中.
您需要嵌套总和:
SELECT Year, Country, SUM([Total Sales]),
SUM(SUM([Total Sales])) OVER (PARTITION BY Year)
FROM Table
GROUP BY Country, Year;
Run Code Online (Sandbox Code Playgroud)
第一次看到它时,这种语法有点时髦.但是,窗函数进行评估后的GROUP BY.这说的是总销售额的总和...正是你想要的.
| 归档时间: |
|
| 查看次数: |
5903 次 |
| 最近记录: |