我正在开发支持其上显示的视频和图片的网站。 我需要制作一个功能来获取最近观看过的特定用户的视频。
我有以下表结构,从中我得到了有多少人查看过的特定视频的视图。(通过获取与视频ID 相对应的行没有)
view_id user_email video_id
3 singhmakhan24gmail.com 24
130 singhmakhan24gmail.com 60
8 singhmakhan24gmaii com 27
10 singhmakhan24gmail.com 30
现在应该在表格结构中进行哪些修改,以获取特定用户ID 的最近观看过的视频。
我认为还需要时间戳才能得到这个。 任何帮助将不胜感激
答案 0 :(得分:2)
通常情况下,您需要3个表来满足您的需求,如下所示
user_tbl(user_id, user_email, ...);
video_tbl(video_id, video_name, ...);
user_video_view(user_id, video_id, view_date);
特定用户可以查看多个视频,并且可以多次显示视频。表之间的关系如下
user_tbl : user_video_view = 1 : N
user_video_view : video_tbl = N :1
获取有多少人观看过特定视频。 (你已经完成了)
SELECT COUNT(*)
FROM user_video_view
WHERE video_id = ?;
获取最近观看的特定用户ID视频
SELECT COUNT(*)
FROM user_video_view
WHERE user_id = ?
ORDER BY view_date DESC
你的问题。
我认为还需要时间戳来获取此
YES!像view_date
答案 1 :(得分:0)
添加CREATED_DATE_TIME
列并查询最新的
答案 2 :(得分:0)
是。添加一列ViewedDateTime列,数据类型为DateTime。插入查看日期和时间。