未知:

请你统计一下牛客每个用户查询刷题信息, 包括: (1)用户的名字, (2)截止到某天, (3)累计总共通过了多少题。 查询结果先按照日期升序排序,再按照姓名升序排序, 有登录却没有刷题的哪一天的数据不需要输出

条件:

牛客每天有很多人登录, 不存在没有登录却刷题的情况, 存在登录了没刷题的情况, 不会存在刷题表里面,有提交代码没有通过的情况, 没有通过会记录在刷题表里,只不过通过数目是0。

已知数据

login表 字段 id, user_id, client_id,date(登录时间)

passing_number 表, 字段 id, user_id , number, date (通过题目时间)

user表,字段 id, name

分析

未知中的累计,需要使用sum(),并根据用户分区,根据日期排序。

select u.name u_n, p.date date  
, sum(p.number) over(partition by u.name order by date) ps_sum 
from passing_number p, user u 
where p.user_id = u.id 
order by p.date ,u.name