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

How do I use case condition with aggregate?

我的 table 中有两列:

  col1                  count
   a                      5
   b                      10
   c                      15
   az                     10

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

TABLE=

  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 中执行此操作?

您可以将 case 放在 select 中:

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