请教一个问题大数据计算MaxCompute
with t1 as (
select guid from xag_datacenter.dwd_log_eve_farmService_LandInfo_d_day
where pt>=20230101 and nvl(guid,'')!='' group by guid
),
t2 as (
select guid from XAG_DataCenter.dwd_task_public_land_d_day
where pt>=20230101 and pt<=20230731 and create_source=1 and nvl(guid,'')!=''
and guid not in (select guid from t1) group by guid
)select * from t2;
这段代码,删掉nvl(guid,'')!=''返回0条,不删掉返回120W条,请问这是为什么?
这段代码中,nvl(guid,'')!=''
的作用是过滤掉 guid
为空的记录。如果不加这个条件,那么查询结果将包含所有 guid
不为空的记录,即返回120万条记录。
当你删除了 nvl(guid,'')!=''
这个条件后,查询结果只包含那些 guid
不为空的记录,因此返回的记录数变为0条。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。