随笔分类 -  sql面试题总结

3、行列转换(列转行)
摘要:解题思路: 先按dt, result分组,然后用case when把列转成行,最后sum起来。 select dt, sum(case when result='win' then cnt else 0 end) as win, sum(case when result='loss' then cn 阅读全文
posted @ 2025-07-29 19:21 dw2nn 阅读(9) 评论(0) 推荐(0)
2、统计连续登录5天的用户
摘要:思路: 1)使用开窗函数,按照用户分组,按照日期排序 lead(login_dt, 4, -1) over(partition by user_id order by login_dt) as num lead的意思是把一个用户的一个login_dt,往前移动4行,如果没有可以移动的login_dt 阅读全文
posted @ 2025-07-29 18:40 dw2nn 阅读(23) 评论(0) 推荐(0)
1、full outer join的使用案例?
摘要:1. 根据表A, 表B,计算表C select coalesce(A.dt, B.dt) as dt, coalesce(A.colA, 0) as colA, coalesce(B.colB, 0) as colB from A full outer join B on a.dt = b.dt; 阅读全文
posted @ 2025-07-08 18:53 dw2nn 阅读(8) 评论(0) 推荐(0)