微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

等同于SAS First的Oracle等效操作

如何解决等同于SAS First的Oracle等效操作

最近需要自学sql

从SAS背景出发,我正在寻找与之等效的东西:

data output_set;
  set input_set;
  by REF Location;

  if first.REF then FirsT_REF = 1;
run;

尝试构建sql中的等效项。我简要了解FirsT_VALUE()输出第一行。但做的不是完全一样。

select
  REF,Location,case when FirsT_VALUE(REF) then FirsT_REF=1
from input_set
;

谢谢。

解决方法

等效于SAS代码:

select is.*,(case when row_number() over (partition by ref order by location) = 1 then 1 else 0 end)
from input_set is;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。