如何解决如何将多个变量列转换为许多不同的布尔列?
我有这张桌子:
ID action
1 buy
1 sell
1 drop
我想把它变成这个
ID buy sell drop
1 Yes Yes Yes
仅此而已。
解决方法
使用条件聚合:
select
id,bool_or(action = 'buy') has_buy,bool_or(action = 'sell') has_sell,bool_or(action = 'drop') has_drop
from mytable
group by id
这将在新列中为您提供布尔值(真或假),而不是是/否字符串,这就是您在问题中所描述的。
如果您想要是/否,则:
select
id,case when bool_or(action = 'buy') then 'Yes' else 'No' end has_buy,case when bool_or(action = 'sell') then 'Yes' else 'No' end has_sell,case when bool_or(action = 'drop') then 'Yes' else 'No' end has_drop
from mytable
group by id
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。