我有一个包含三列(a,b,c)的表,我需要通过使用列a和b的不同特性来创建一个新的列“d”。
a b c
1 p 2
1 p 3
2 q 4
1 q 2
2 r 4
2 r 2
1 p 2
我需要下面的答案,其中d是a和b的唯一列的和
a b c d
1 p 2 7
1 p 3 7
2 q 4 4
1 q 2 2
2 r 4 6
2 r 2 6
1 p 2 7
d列的结果是,
对于distinct(a和b),则添加c的值。然后在d列中插入值(匹配不同的值)
我有一个包含三列(a,b,c)的表,我需要通过使用列a和b的不同特性来创建一个新的列“d”。
a b c
1 p 2
1 p 3
2 q 4
1 q 2
2 r 4
2 r 2
1 p 2
我需要下面的答案,其中d是a和b的唯一列的和
a b c d
1 p 2 7
1 p 3 7
2 q 4 4
1 q 2 2
2 r 4 6
2 r 2 6
1 p 2 7
d列的结果是,
对于distinct(a和b),则添加c的值。然后在d列中插入值(匹配不同的值)
3条答案
按热度按时间mpgws1up1#
你可以试着用
SUM
以及group by
a
以及b
子查询中的列,然后是selfjoin
测试DLL查询
[结果]:
sqlfiddle公司
tzdcorbm2#
使用
case when
如果生成的值是常量,则创建另一列但在我看来,你需要a,b的群和作为第四列,所以你可以做如下的事情
quhf5bfb3#
如果支持sum的窗口函数