使用 group by 子句 by removing/trimming 空格获取数据

Get data using group by clause by removing/trimming spaces

我有这样一个专栏:

Occupations
------------
Housewife
House wife
Housework
House work

我想要使用分组依据的数据;

这里的"Housewife"和"House wife"是相似的数据,只是两个词的区别是space;因为如果我们使用错误的组,它会产生不同的数据

我希望我的 table 专栏像

Occupations
------------
Housewife
Housework

我们可以使用 group by..... 或任何其他获取数据的方式从列中删除冗余吗?

您可以使用函数 translate() 来消除字符串中的空格,例如

with the_data(occupation, amount) as (
    values
        ('Housewife', 1),
        ('House wife', 2),
        ('Housework', 3),
        ('House work', 4)
    )

select 
    translate(occupation, ' ', '') as occupation,
    sum(amount) as amount
from the_data
group by 1;

 occupation | amount 
------------+--------
 Housewife  |      3
 Housework  |      7
(2 rows)