我有一个专栏
Country ------- Canada India USA India China Canada
我想通过插入另一个名为m\u的列来更新此表,该列只能有0或1如果国家出现多次=1如果国家只出现一次=0
output ------- Canada 1 India 1 USA 0 India 1 China 0 Canada 1
hsgswve41#
您应该为此使用windows函数:
select t.*, (case when count(*) over (partition by country) > 1 then 1 else 0 end) as flag from t;
这是一匹没有名字回答的马。如果那个答案没有删除,我就删除它。
hrysbysz2#
这应该适合您:
select a.country, case when b.c >1 then 1 else 0 end from countries a join ( select Country, count(*) as c from countries group by Country ) b on b.country = a.country
2条答案
按热度按时间hsgswve41#
您应该为此使用windows函数:
这是一匹没有名字回答的马。如果那个答案没有删除,我就删除它。
hrysbysz2#
这应该适合您: