使用 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)
我有这样一个专栏:
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)