首页 > 解决方案 > 如何在同一设置中使用 sum、replace 和 case?

问题描述

我有一个表格,其中数字存储为字符串,一些更大的数字看起来像 1,634.5,所以我必须用空格替换“,”以获得准确的数据。

我一直在使用这个有效的方法,但我不知道如何用 sum 和 case 来做到这一点,因为当它等于 xyz 时,我需要将收入加起来

有效的代码

(replace(revenue, ',', '')

不起作用的代码

sum(replace(revenue, ',', '') case WHEN food in ('burgers', 'fries') then revenue else 0 end)) as  foodsum
group by foodcategory

我也尝试使用嵌套查询但没有用,有人有什么建议吗?

谢谢!

标签: sql

解决方案


这是聚合revenue基于foodcategory.

select case when food in ('burgers', 'fries') then sum(replace(revenue, ',', '')) else 0 end as foodsum
from table1
group by foodcategory

推荐阅读