sql - 如何使用 sql-window 函数在 SQL 中创建计算列?
问题描述
因此,我正在研究这个解决方案,该解决方案涉及获取 3 列的输入,例如“年”、“月”和“支出”,并使用它们使用模仿 SQL 窗口函数的逻辑创建另一列“年总计”。例如,鉴于前三列是可编辑的,我需要下表,
|------------|--------|--------|----------| | 年 |月 | 花费 |年总计| |------------|--------|--------|----------| | 2018 | 一月 | 10 | 55 | | 2018 | 二月 | 20 | 55 | | 2018 | 十月 | 25 | 55 | | 2019 | 一月 | 15 | 120 | | 2019 | 八月 | 60 | 120 | | 2019 | 十一月 | 45 | 120 | |------------|--------|--------|----------|
但是在前端和动态计算这个使得解决方案非常慢。因此,我尝试使用计算列将此计算移动到 SQL 表中的后端。基本上,数据将被写入后端(SQL),计算并重新读取列以显示在前端。
我环顾了一下,才发现 Windows 函数不能用于 SQL 中的计算列。另请注意,解决方案中不允许存储过程。
任何人都可以建议如何做到这一点,或者即使这是可能的?
请注意,前端是 Powerapps/Power BI
解决方案
'使用模仿 SQL 窗口函数的逻辑' 为什么?
您只需要加入按年份分组的子查询。
select t.* , s.sumspend
from <table> t
join (select year, sum(spend) sumspend from <table> group by year) s
on s.year = t.year;
推荐阅读
- iphone - 如何在 Swift 中找到 iOS 应用程序内部目录的路径?
- matlab - MATLAB 绘制连续日期的数据以及特定日期的观测数据
- docker - Docker 查看历史日志
- chromium - puppeteer 不会打开没有协议的 url
- java - 在 Java 中将字符串 UUID 转换为 BigInteger
- react-native - 使反应原生 TextInput 只读
- html - 在 flex div 中设置子元素的响应宽度
- php - 如何将日期和时间字符串转换为不同的格式?
- batch-file - 批处理脚本文件获取默认网关和 ping ip 地址
- powershell - 在 VSTS 任务中,术语“powershell.exe”未被识别为 cmdlet 的名称