【问题标题】: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 中做到这一点?

【问题讨论】:

    标签: sql group-by amazon-redshift


    【解决方案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),由于某种原因不起作用,而您发布的内容起作用。
    猜你喜欢
    • 2020-04-30
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-27
    相关资源
    最近更新 更多