hive row_number 去重 取第一条

2023/06/21 posted in  数据开发

根据id去重,取第一条数据

select t.id, t.name, t.time_c
  from (
        select id,
               name,
               time_c,
               row_number() over(partition by id order by time_c desc) rank
          from table_name
       ) t
 where t.rank = 1

参考:https://blog.csdn.net/iKuboo/article/details/103668567

实际使用CASE:

select t.infoid, t.submitdate, ceil(round((unix_timestamp()-(t.submitdate/1000))/360/24/30,2) )as shelfupMonth
	  from (
			select infoid,
				   submitdate,
				   row_number() over(partition by infoid  order by  submitdate  desc) rank
			  from  (SELECT * from hdp_lbg_zhaopin_defaultdb.t_zp_zpshelfuprecord where  dt >="20230620" and  requestIsShelfup ="true" and  shelfupCode ="0")  a
		   ) t
	 where t.rank = 1

关于我及张二蛋又要扯蛋了

    一个不务正业的程序猿及这个程序猿写字的地方,这里可能有技术,有理财,有历史,有总结,有生活,偶尔也扯扯蛋,妥妥的杂货铺,喜欢可关注。
    酒已备好,等你来开
图片