SQL_分组求次大问题_一份登陆日志,查到今天每个人倒数第二次登陆的时间、地点、ip等信息?

一份登陆日志,查到今天每个人倒数第二次登陆的时间、地点、ip等信息?

问题解法 :避免开窗函数导致的数据倾斜,先求最大,再求次大

正确解法

with 
tmp_max as (
	select 
		uid,
		max(appr_time) as appr_time 
	from table_a
	group by uid

)


select
	uid,
	max(app_time) as sec_appr_time
from table_a 
left join top_max
	on table_a.uid = tmp_max.uid
where table_a.appr_time != tmp_max.appr_time
group by 
	uid

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值