题解 | 统计创作者

统计创作者

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;

全部评论

相关推荐

给个offer灞:校友 是不是金die
点赞 评论 收藏
分享
notbeentak...:就抓,嗯抓,开不开匿名都要抓,一点坏事不让说,就对公司顶礼膜拜佩服的五体投地就对了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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