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

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

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 湖南

相关推荐

不愿透露姓名的神秘牛友
10-12 10:48
已编辑
秋招之苟:邻居家老哥19届双2硕大厂开发offer拿遍了,前几天向他请教秋招,他给我看他当年的简历,0实习实验室项目技术栈跟开发基本不沾边😂,我跟他说这个放在现在中厂简历都过不了
点赞 评论 收藏
分享
评论
22
收藏
分享
牛客网
牛客企业服务