我有下表(请参阅附件)。我想生成SQL代码如果任何一所学校在第3阶段开始,则该学校将获得值1。如果该学校也经历了第1阶段或第2阶段(或同时经历这两者),则该值应为0。
目前,我只有从数据库生成的前两列。我需要添加额外的列,但是我不知道该如何实现SQL代码。
我对SQL还是很陌生,因此将不胜感激。
答案 0 :(得分:1)
您可以使用窗口功能:
select t.*,
min(case when phase in ('Phase1', 'Phase2') then 0
when phase = 'Phase3' then 1
end) over (partition by school) as new_column
from t;