随笔分类 - 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
阅读全文
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
阅读全文
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;
阅读全文
浙公网安备 33010602011771号