新网站建设 英文翻译,中国做网站公司排名,公司网站模板中英文,开发三味是啥需求#xff1a; 大数据环境#xff0c;特别的hive的表#xff0c;很多是没有主键的。有时候sql查询的时候#xff0c;需要自关联#xff0c;这就需要根据数据采用不同的方案 自关联
数据表test(id,name,age),如果有主键id#xff0c;自关联sql如下
select * from test…需求 大数据环境特别的hive的表很多是没有主键的。有时候sql查询的时候需要自关联这就需要根据数据采用不同的方案 自关联
数据表test(id,name,age),如果有主键id自关联sql如下
select * from test A,test B
where A.id B.id 方案
1、没有主键存在排序字段进行自关联
数据表test(name,agecjsj,....),如果没有主键id有排序字段创建时间cjsj, 自关联sql如下
select * from select *, row_number() over (order by cjsj desc) as pk_id from test A ,select *, row_number() over (order by cjsj desc) as pk_id from test B where A.pk_id B.pk_id 2、没有主键有唯一组合键
数据表test(name,agepro,cjsj,....),如果没有主键id存在唯一键name,pro, 自关联sql如下
select * from test A,test B
where A.name B.name
and A.pro B.pro
3、如果没有排序字段没有唯一键MD5
数据表test(name,agepro,cjsj,....),如果没有主键id没有唯一键。可以给每行数据生成唯一的MD5值把MD5值进行关联。 这种情况比较少性能差