分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
今天遇到需要在多条有重复字段的记录中选取修改日期最接近现在的字段,如下:
我想要选取CPDM,FBQD相同,KSRQ离现在最近的那条记录,选出的记录应该为1、2、3,而4、5、6、7应该舍弃掉。
我们使用这条语句:
Row_Number() Over(Partition By Cpdm, Fbqd Order By Ksrq Desc)
得到的结果为:
再用Rk = 1做个限定,就可以得出最终结果:
完整的SQL语句为:
Select b.*, b.Fbqd, b.Qzsm From (Select Row_Number() Over(Partition By Cpdm, Fbqd Order By Ksrq Desc) Rk, Cpid, Cpdm, Djxh, Djmc, Fbqd, Djlx, Ksrq, Zzrq, Dyzq, Dj, Sfkysy, Syzq From t_biao) b Where b.cpdm = 'ZX0001' and b.Rk = 1 and b.fbqd not in ('Z')