SQL查询通过使用不同功能将值添加到一列中来插入新列

莎拉

我有三列(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中(匹配不同的值)

D-Shih

您可以尝试在子查询中使用SUMandgroup by ab列,然后使用selfjoin

测试DLL

create table t(
   a int,
   b varchar(5),
   c int
);

insert into t values (1,'p',2);
insert into t values (1,'p',3);
insert into t values (2,'q',4);
insert into t values (1,'q',2);
insert into t values (2,'r',4);
insert into t values (2,'r',2);
insert into t values (1,'p',2);

询问

SELECT t1.*,t2.d 
FROM T t1 INNER JOIN (
    SELECT a,b,SUM(c) d
    FROM T
    GROUP BY a,b
) t2 on t1.a = t2.a and t1.b=t2.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 |

sqlfiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用不同表中另一列的值将列添加到表中

将值添加到查询结果的一列

如何通过将固定值添加到另一列单元格值来创建新列

通过计算熊猫另一列中的不同值来创建新列

如何将第一列中的值添加到新数组中?

熊猫:如果日期时间索引中的日期不同,则将一列的值添加到另一列

在列中插入一个新值,并将此新值添加到其他列值中

通过在Pandas的另一列中添加新值来扩展Timeindex。

将一列中的值添加到另一列中的值

使用查询结果将另一列添加到结果SQL

如何通过累加上一列中的数字将新列添加到 CSV 文件中?

当特定单词是一列中的列表中的值时,如何将其添加到新列中

根据参考 [Excel] 将一列中的值添加到另一列

无法使用熊猫将值添加到csv中的每一列

如何通过在python中添加同一列的2个不同行值的值来估算特定行值

添加新列并根据另一列中的值在列中插入值

MySQL查询:对另一列使用不同的列值求和

将值配对的新列添加到另一列

使用不同的分隔符将一列中的值拆分为 SQL 中的多列

SQL:选择不同但将一列的所有添加到不同的结果

使用 R 将一列中的值添加到另一列中,第二列中存在缺失值

MySQL-为什么我不能将外键添加到指向一列的多列中?

使用不同的 where 子句向我的查询添加另一列

通过将固定变量添加到前一个值来更新 pandas df 列中的值

如何通过其中一列中的每个值将一列随机数添加到数据框中?

缺少列值时将该列值添加到另一列的数组中

通过分析第一列中的数据来查询以创建新列

將一列從其他列的值添加到 sql 表

如何在MS-SQL中对同一列的不同值使用计数功能?