Leetcode-Mysql题目及知识点总结(1142.过去30天的用户活动II&1148.文章浏览I)

计算机小白QAQ,因为想找数分岗暑期实习所以充了会员想集中刷一下leetcode的mysql部分。写这个系列博文和大家们交流一下,后面也会持续更新面经准备的一些问题,欢迎同好们一起交流,求大佬轻喷QAQ。因为自己初学也走了很多弯路,所以会尽量写得详细一点,如果可以帮助到后来的朋友们,请各位留言鼓励一下哈哈哈哈。
1142.过去30天的用户活动II
Leetcode-Mysql题目及知识点总结(1142.过去30天的用户活动II&1148.文章浏览I)_第1张图片
思路:先用where过滤得到2019-07-27的30天内的信息,然后对用户进行分组计数,将得到的计数结果计算平均值,并利用round保留两位小数。
代码:
select ifnull(round(sum(num)/count(user_id),2),0) as average_sessions_per_user
from(select user_id,count(distinct session_id)as num
from Activity
where datediff(‘2019-07-27’,activity_date)<30
group by user_id)tp

1148.文章浏览I
Leetcode-Mysql题目及知识点总结(1142.过去30天的用户活动II&1148.文章浏览I)_第2张图片
思路:利用where进行过滤找到author_id等于view_id进行返回。order by默认为升序排列,用desc关键字得到降序排列。
代码:
select distinct author_id as id
from Views
where author_id=viewer_id
order by author_id

你可能感兴趣的:(LeetCode-mysql)