如何将案例条件与聚合一起使用?

Posted

技术标签:

【中文标题】如何将案例条件与聚合一起使用?【英文标题】:How do I use case condition with aggregate? 【发布时间】:2021-07-21 17:51:05 【问题描述】:

我的表中有两列:

  col1                  count
   a                      5
   b                      10
   c                      15
   az                     10

我想将值 az 更改为 a 然后求和,因此,结果将是:

表=

  col1                 count
   a                    15
   b                    10
   c                    15

如何在 SQL 中执行此操作?

我做到了:

   select col1, SUM(count)
   FROM TABLE
   WHERE
   WHERE TABLE.col1 = CASE WHEN TABLE.col1 = 'az' THEN 'a' ELSE TABLE.col1 END GROUP BY fodc.country

但是,它没有给出正确的结果。它给出了意想不到的结果并完全消除了az

如何在 SQL 中做到这一点?

【问题讨论】:

【参考方案1】:

您可以将case 放入select

select (case when col1 = 'az' then 'a' else col1 end),
       sum(count)
from table1
group by 1;

【讨论】:

当我这样做时,我得到了真,假作为 col1 中的值。 对不起,我在做(col1 = case when col1 = 'az' then 'a' else col1 end),由于某种原因不起作用,而您发布的内容起作用。

以上是关于如何将案例条件与聚合一起使用?的主要内容,如果未能解决你的问题,请参考以下文章

将 Google Web 组件与聚合物一起使用

使用 NHibernate 将聚合与实体一起投影

可以将聚合函数与连接一起使用吗?

想要将多个聚合函数与雪花枢轴列函数一起使用

MongoDB聚合使用表达式运算符(函数)分组按条件计数统计案例一则

MongoDB聚合使用表达式运算符(函数)分组按条件计数统计案例一则