TOP N问题
已知用户浏览商品的浏览日志表(visit_table):
求2月份每个商品浏览次数Top 3。
select name ,userid ,visit_cnt from ( select * ,row_number(position by name order by visit_cnt desc) as cnt from ( select name ,userid ,count(1) as visit_cnt from visit_table where login_date>='2021/2/1' and login_date<='2021/2/28' group by name,userid ) a ) b where cnt<=3
思路解析:
1、先统计每个商品、每个用户的浏览次数(visit_cnt),得到表 a
2、对表a求出每个商品浏览次的数降序排名,得到表b
3、对排序cnt进行top 3筛选操作
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步