题解 | #每类视频近一个月的转发量/率#

每类视频近一个月的转发量/率

http://www.nowcoder.com/practice/a78cf92c11e0421abf93762d25c3bfad

SELECT tag, SUM(if_retweet), ROUND(SUM(if_retweet)/ COUNT(*),3) retweet_rate
FROM tb_user_video_log,tb_video_info 
WHERE tb_user_video_log.video_id=tb_video_info.video_id 
AND TIMESTAMPDIFF(DAY, start_time, (SELECT MAX(start_time) FROM tb_user_video_log)) < 30
GROUP BY tag
ORDER BY retweet_rate DESC;

首先是题意,视频播放日期start_time和整体的日期最大值之差小于30的,叫做“视频在有用户互动的最近一个月”。 第二,mark一下,上面要写成(SELECT MAX(start_time) FROM tb_user_video_log),而不能直接写MAX(start_time)。where后面不能跟集函数。顺便说一句,having后面倒是常跟集函数。

全部评论
能说一下为什么不能直接写max(time)吗,这里没搞懂。谢谢啦
点赞 回复 分享
发布于 2022-02-13 22:42
这"笛卡尔积"用的毫不犹豫啊
点赞 回复 分享
发布于 2022-05-10 13:10
(SELECT MAX(start_time) FROM tb_user_video_log)为什么这里不加括号就报错啊
点赞 回复 分享
发布于 2022-10-30 00:25 湖南

相关推荐

与火:这不接? 留子的钱不挣白不挣
点赞 评论 收藏
分享
11-07 13:31
怀化学院 Java
勇敢牛牛不怕难:又疯一个
点赞 评论 收藏
分享
评论
22
收藏
分享
牛客网
牛客企业服务