【发布时间】:2022-06-14 17:23:03
【问题描述】:
我有一个下表,我需要根据类别和月份列创建一个计算列 (RA)。
Oa Sa Ai month MDY
5 10 2 Jan J302022
16 32 38 Jan J302022
15 14 4 Feb J302022
46 32 81 Jan J302022
3 90 0 Mar J302022
51 10 21 Jan J302021
19 32 3 Jan J302021
45 16 41 Feb J302021
46 7 81 Jan J302022
30 67 14 Mar J302021
45 16 41 Apr J302021
46 7 81 Apr J302021
30 67 0 Jan J302021
56 17 0 Mar J302022
首先,它需要考虑一个类别,例如,J302022,然后它需要根据该类别的月份计算“RA”列。例如,J302022, Jan, ((5+16+46+46)+(10+32+32+7)) / (2+38+81+81) = 0.96。 所以下面是预期的输出。
Oa Sa Ai month category RA
5 10 2 Jan J302022 0.96
16 32 38 Jan J302022 0.96
15 14 4 Feb J302022 7.25
46 32 81 Jan J302022 0.96
3 90 0 Mar J302022 0
51 10 21 Jan J302021 8.70
19 32 3 Jan J302021 8.70
45 16 41 Feb J302021 1.48
46 7 81 Jan J302022 0.96
30 67 14 Mar J302021 6.92
45 16 41 Apr J302021 1.48
46 7 81 Apr J302022 0.65
30 67 0 Jan J302021 8.70
56 17 0 Mar J302022 0
是否可以在 SQL 中做到这一点?
提前致谢!
【问题讨论】:
-
顺便说一下,你展示的两个数据样本不一样。
MDY更改为category,并且您的 Jan J302022 行实际上是第一个示例中的 Jan J302021。这使得测试变得有点困难,因为我必须对此进行纠正(但我没有否决你的问题)。 -
这行
46 7 81 Jan J302022怎么输入输出不一样?在输入中其46 7 81 Jan J302021与输出中的46 7 81 Apr J302022 0.65相同 -
您使用的是哪个 dbms?
标签: sql