用戶-視頻互動(dòng)表tb_user_video_log (uid-用戶ID, video_id-視頻ID, start_time-開始觀看時(shí)間, end_time-結(jié)束觀看時(shí)間, if_follow-是否關(guān)注, if_like-是否點(diǎn)贊, if_retweet-是否轉(zhuǎn)發(fā), comment_id-評(píng)論ID) 短視頻信息表tb_video_info (video_id-視頻ID, author-創(chuàng)作者ID, tag-類別標(biāo)簽, duration-視頻時(shí)長(zhǎng), release_time-發(fā)布時(shí)間) 問(wèn)題:統(tǒng)計(jì)在有用戶互動(dòng)的最近一個(gè)月(按包含當(dāng)天在內(nèi)的近30天算,比如10月31日的近30天為10.2~10.31之間的數(shù)據(jù))中,每類視頻的轉(zhuǎn)發(fā)量和轉(zhuǎn)發(fā)率(保留3位小數(shù))。 注:轉(zhuǎn)發(fā)率=轉(zhuǎn)發(fā)量÷播放量。結(jié)果按轉(zhuǎn)發(fā)率降序排序。 輸出示例: 示例數(shù)據(jù)的輸出結(jié)果如下 解釋: 由表tb_user_video_log的數(shù)據(jù)可得,用戶互動(dòng)最后的最后天數(shù)為2021年10月1日,那么我們需要統(tǒng)計(jì)2021年09年01-2021年10月1日 這30天內(nèi)的每類視頻的轉(zhuǎn)發(fā)量和轉(zhuǎn)發(fā)率。 其中影視類視頻2001共有3次播放記錄,被轉(zhuǎn)發(fā)2次,轉(zhuǎn)發(fā)率為0.667;美食類視頻2002共有2次播放記錄,1次被轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)率為0.500。
示例1
輸入
DROP TABLE IF EXISTS tb_user_video_log, tb_video_info;
CREATE TABLE tb_user_video_log (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
uid INT NOT NULL COMMENT '用戶ID',
video_id INT NOT NULL COMMENT '視頻ID',
start_time datetime COMMENT '開始觀看時(shí)間',
end_time datetime COMMENT '結(jié)束觀看時(shí)間',
if_follow TINYINT COMMENT '是否關(guān)注',
if_like TINYINT COMMENT '是否點(diǎn)贊',
if_retweet TINYINT COMMENT '是否轉(zhuǎn)發(fā)',
comment_id INT COMMENT '評(píng)論ID'
) CHARACTER SET utf8 COLLATE utf8_bin;
CREATE TABLE tb_video_info (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
video_id INT UNIQUE NOT NULL COMMENT '視頻ID',
author INT NOT NULL COMMENT '創(chuàng)作者ID',
tag VARCHAR(16) NOT NULL COMMENT '類別標(biāo)簽',
duration INT NOT NULL COMMENT '視頻時(shí)長(zhǎng)(秒數(shù))',
release_time datetime NOT NULL COMMENT '發(fā)布時(shí)間'
)CHARACTER SET utf8 COLLATE utf8_bin;
INSERT INTO tb_user_video_log(uid, video_id, start_time, end_time, if_follow, if_like, if_retweet, comment_id) VALUES
(101, 2001, '2021-10-01 10:00:00', '2021-10-01 10:00:20', 0, 1, 1, null)
,(102, 2001, '2021-10-01 10:00:00', '2021-10-01 10:00:15', 0, 0, 1, null)
,(103, 2001, '2021-10-01 11:00:50', '2021-10-01 11:01:15', 0, 1, 0, 1732526)
,(102, 2002, '2021-09-10 11:00:00', '2021-09-10 11:00:30', 1, 0, 1, null)
,(103, 2002, '2021-10-01 10:59:05', '2021-10-01 11:00:05', 1, 0, 0, null);
INSERT INTO tb_video_info(video_id, author, tag, duration, release_time) VALUES
(2001, 901, '影視', 30, '2021-01-01 7:00:00')
,(2002, 901, '美食', 60, '2021-01-01 7:00:00')
,(2003, 902, '旅游', 90, '2020-01-01 7:00:00');
加載中...