题解 | #国庆期间每类视频点赞量和转发量#

国庆期间每类视频点赞量和转发量

https://www.nowcoder.com/practice/f90ce4ee521f400db741486209914a11

SELECT
    tag,
    '2021-10-01' AS dt,
    SUM(like_cnt) AS sum_like_cnt_7d,
    MAX(retweet_cnt) AS max_retweet_cnt_td
FROM(
    SELECT
        tag,
        DATE(end_time) AS days,
        SUM(if_like) AS like_cnt,
        SUM(if_retweet) AS retweet_cnt
    FROM tb_user_video_log t1
    JOIN tb_video_info t2 ON t1.video_id = t2.video_id
    GROUP BY tag, days
) t1
WHERE days BETWEEN DATE_ADD('2021-10-01', INTERVAL -6 DAY) AND '2021-10-01'
GROUP BY tag
UNION
SELECT
    tag,
    '2021-10-02' AS dt,
    SUM(like_cnt) AS sum_like_cnt_7d,
    MAX(retweet_cnt) AS max_retweet_cnt_td
FROM(
    SELECT
        tag,
        DATE(end_time) AS days,
        SUM(if_like) AS like_cnt,
        SUM(if_retweet) AS retweet_cnt
    FROM tb_user_video_log t1
    JOIN tb_video_info t2 ON t1.video_id = t2.video_id
    GROUP BY tag, days
) t1
WHERE days BETWEEN DATE_ADD('2021-10-02', INTERVAL -6 DAY) AND '2021-10-02'
GROUP BY tag
UNION
SELECT
    tag,
    '2021-10-03' AS dt,
    SUM(like_cnt) AS sum_like_cnt_7d,
    MAX(retweet_cnt) AS max_retweet_cnt_td
FROM(
    SELECT
        tag,
        DATE(end_time) AS days,
        SUM(if_like) AS like_cnt,
        SUM(if_retweet) AS retweet_cnt
    FROM tb_user_video_log t1
    JOIN tb_video_info t2 ON t1.video_id = t2.video_id
    GROUP BY tag, days
) t1
WHERE days BETWEEN DATE_ADD('2021-10-03', INTERVAL -6 DAY) AND '2021-10-03'
GROUP BY tag
ORDER BY tag DESC

用UNION把三天的记录合并起来,虽然是比较笨的方法,但至少算是个能轻易看懂的办法吧,,

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 17:37
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 16:22
点赞 评论 收藏
分享
一tiao酸菜鱼:秋招还没正式开始呢,就准备有结果了。。。。?
点赞 评论 收藏
分享
07-03 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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