题解 | 统计创作者

统计创作者

https://www.nowcoder.com/practice/5f0155102879494c8707f749156f9af3

SELECT
    a.author_id,
    a.author_name,
    COUNT(p.post_id) AS posts_30d,
    SUM(p.like_cnt) AS likes_30d,
    ROUND(SUM(p.like_cnt) / COUNT(p.post_id), 2) AS avg_likes_30d
FROM
    author AS a
    INNER JOIN post AS p ON a.author_id = p.author_id
WHERE
    p.publish_ts BETWEEN 
    #求起始日期
    DATE_SUB(
        (
            SELECT
                max(publish_ts)
            FROM
                post
        ),
        INTERVAL 29 DAY
    ) 
    AND 
    #求最新日期
    (
        SELECT
            max(publish_ts)
        FROM
            post
    )
GROUP BY
    a.author_id,
    a.author_name
HAVING
    COUNT(p.post_id)>0
ORDER BY
    likes_30d DESC,
    posts_30d DESC,
    a.author_id
LIMIT 5;

全部评论

相关推荐

点赞 评论 收藏
分享
09-18 20:41
阿里巴巴_后端
要个offer怎么这...:哈哈哈哈哈哈,我也拿了0x10000000个offer,秋招温啦啦啦,好开心
我的秋招日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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