统计每人每个刷题日期的累计刷题通过数

牛客每个人最近的登录日期(六)

http://www.nowcoder.com/questionTerminal/572a027e52804c058e1f8b0c5e8a65b4

#明确问题:
#登录不一定刷题,刷题不一定通过。刷题了就会存在刷题表里。
#三张表:登录表、刷题表、用户表。
#因为有登录没有刷题的数据不需要输出,所以截止到某天指的是刷题表有记录的日期。没有用到登录表。
#用窗口函数按姓名分区按日期排序计算累计数。
select u.name as u_n
        ,p.date as date
        ,sum(p.number)over(partition by u.name order by date)as ps_num
from passing_number p,user u
where p.user_id=u.id
order by p.date,u.name;


全部评论
阅读理解满分
2 回复 分享
发布于 2021-11-01 19:04
请问 FROM 后面接多张表是什么意思?跟INNER JOIN、LEFT JOIN 的区别是i?
1 回复 分享
发布于 2022-02-04 18:00
感觉这题没出好
点赞 回复 分享
发布于 2023-02-06 17:05 日本
但是如果用户在不同日期登录了的话,这个无法筛选出截至日期
点赞 回复 分享
发布于 2022-08-12 16:08
这里是不是有个漏洞,如果数据多的情况下p.date并不是最后浏览的日期,应该做下筛选
点赞 回复 分享
发布于 2022-02-19 12:48
这个感觉有点不太对啊 为啥语句里根本没用到login表?还是我自己没想明白?求教求教
点赞 回复 分享
发布于 2022-02-18 09:59
请问我直接sum为什么错了? select u.name as u_n, pn.date, sum(pn.number) as ps_num from passing_number as pn join user as u on pn.id = u.id group by pn.date,u.name order by pn.date, u.name asc
点赞 回复 分享
发布于 2021-11-30 21:23

相关推荐

轻絵梨花泪沾衣:南泵,大少爷驾到通通闪开
点赞 评论 收藏
分享
评论
60
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务