背景:在一次开发中,使用了group by多个字段,但是发现group by不生效,起不到作用
目标:找到group by失败的原因,并进行总结
动作1:在不生效的group by的外层再加一层group by,结果发现group by还是不起作用,很多重复数据。
排查2:发现group by的字段中有一个“年龄”的字段,这个字段在上游是double类型,但是在我目标表里面是bigint类型
动作2:使用cast把double类型(存在23.1,23.555,23.34565这种记录)转换为bigint类型再进行分组.
结果:解决问题,group by之后没有重复记录了。
反思:1)要坚信group by是可以去重的,不要怀疑人生,怀疑自己
2)学会排查,一层一层从里面向外面排查,看数据是从什么地方开始不对劲的;
3)要学会从明细数据,一层一层去反推,要沉着冷静
版权声明:本文为yezonghui原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。