mysql - 如果完整日期小于恢复日期,如何编写单个语句来检索用户观看视频的最后恢复?
问题描述
我确信这很简单,但我做不到。我的问题:我的 sql 数据库与一张表保持用户视频观看完整状态(1)和恢复(0)。一旦用户完成,她/他再次可以观看视频,条目将恢复模式,然后状态再次插入此表中。
表名:sdbi_splms_videohit_track
Id videoid status userid watch_date
1 912230 0 1 2020-08-31 15:54:14
2 912230 1 1 2020-09-09 15:54:14
我们只需要检索 is status =0 且 is status =1 且 watch_date grater resume status=0 的恢复视频记录。
然后首先输出
它应该检索 0 记录,因为 watch_date 日期大于恢复状态
------ Watching this again on entry increase------------
Id videoid status userid watch_date
1 912230 0 1 2020-08-031 15:54:14
2 912230 1 1 2020-09-09 15:54:14
3 912230 0 1 2020-09-10 15:54:14
如果再次恢复,则输出最后一个
3 912230 0 1 2020-09-10 15:54:14
如果完成日期大于恢复日期,我的 sql 当前查询低于其始终返回的恢复记录:
SELECT a.* FROM `sdbi_splms_videohit_track` as a WHERE a.videoid=912230 AND
`a`.`user_view_video` = '0' AND `a`.`user_id` = '1' GROUP BY b.videoid ORDER BY
MAX(a.date_created) DESC
如果可以在单个查询中进行,请您指导我。
解决方案
您提供的信息很难帮助您。也许您想考虑使用至少三个表对数据库进行一些更改,例如:
users_table
user_id int primary key autoincrement
user_name varchar(xxx)
...........
user_attribute(n)
videos_table
video_id int primary key autoincrement
video_name varchar(xxx)
...........
video_attribute(n)
video_track
id int primary_key autoincrement
video_id int
user_id int
pickup_date date
return_date date default null
这将允许您选择从用户那里拍摄但尚未返回(您的状态 0)的视频。
SELECT vt.video_id, vt.video_name
FROM videos_track k
INNER JOIN users_table ut using (user_id)
INNER JOIN video_table vt using (video_id)
WHERE ISNULL(k.return_date)
AND ut.user_id = 1
因此,此查询将为您提供用户使用 user:id = 1 拾取但尚未返回的所有视频。如果您需要在特定日期之后拾取的视频,请将此条件添加到 WHERE 子句:
AND k.pickup_date <= limit_date
等等。换句话说,您将能够使用各种不同的问题来查询您的数据。希望我了解您问题的本质,因此可能对您有所帮助。
推荐阅读
- javascript - 如何根据光标单击定位弹出窗口(不使用 jQuery)?
- android - Genymotion 模拟器对运行安卓应用程序有效吗?
- selenium-chromedriver - 无法使用 xpath 方式使用robotframework selenium 方法单击链接/ webelement
- c# - Admob 测试广告未显示在设备上
- iframe - 当 iframe 启动文件上传并且父页面已使用 html5-history API 路由时,如何防止浏览器出现“后退按钮”?
- angular - 当我禁用表单时删除占位符
- azure - Azure 数据工厂在不创建文件夹的情况下放气
- apigee - APIGEE API 代理 - 如何防止请求根据正文内容命中目标
- javascript - 如何防止我在网页上使用的 API 密钥被滥用
- office-js - Office JS 加载项