是否可以将与不同行名关联的值添加在一起,同时保持其他行不变?

Posted

技术标签:

【中文标题】是否可以将与不同行名关联的值添加在一起,同时保持其他行不变?【英文标题】:Is it possible to add values together that are associated with different row names while keeping other rows intact? 【发布时间】:2018-12-09 03:16:07 【问题描述】:

我正在尝试将两个值相加,这些值与具有不同名称值的两个不同行相关联。我通常会使用 group 函数添加值,但是 group 函数仅适用于匹配字符串。

| Direction |  | Total |
------------+--+--------
|   Test1   |  | 5000  |
|   Test2   |  | 3000  |
|   Test3   |  | 2000  |

在表格中保留测试 3 时的预期结果(添加 Test1 + Test2):

|  Direction  |  | Total |
--------------+--+--------
| Test1plus2  |  | 8000  |
|   Test3     |  | 2000  |

【问题讨论】:

【参考方案1】:

你会使用条件表达式:

select (case when direction in ('test1', 'test2') then 'test1plus2'
             else direction
        end) as direction_group,
       sum(total) as total
from t
group by direction_group;

【讨论】:

以上是关于是否可以将与不同行名关联的值添加在一起,同时保持其他行不变?的主要内容,如果未能解决你的问题,请参考以下文章

单击时如何将与 <a> 链接关联的值设置为会话变量

在 NFS 中强制刷新属性

前台请求参数与后台方法参数一致与不一致的情况

在将与 map() 一起使用的函数中为 ggplot 对象添加标题

第 6 章 字典

我们如何在保持类型安全的同时通用地处理关联类型