我打算使用PHP编写视频脚本。我有流动的问题:: 我想选择过去24小时内当前用户IP未看到的视频。
我使用这个sql命令:
SELECT videos.VideoID FROM videos,Video_log WHERE Videos.VideoID=Video_log.VideoID Video_log.TIMESTAMP NOT BETWEEN '$today' AND '$yesterday' AND Video_log.ip != '127.0.0.1'
Datebase Tables:
Videos Table :
VideoID
VideoURL
表二:
Video_log Table :::
viewID
VideoID
ViewDate
IP
但此sql查询返回过去24小时(今天)已被同一用户IP查看过的视频的视频ID
更简单:
在过去24小时内未查看此IP并选择videoID
答案 0 :(得分:1)
你的逻辑是not between
的倒退。第一个日期必须在第二个日期之前:
SELECT videos.VideoID
FROM videos join
Video_log
on Videos.VideoID=Video_log.VideoID
where Video_log.TIMESTAMP NOT BETWEEN '$yesterday' and '$today' AND
Video_log.ip != '127.0.0.1'
通过将条件移动到on
子句,我也可以自由修复连接语法。您还应该学习如何将参数传递给查询,而不是将它们直接放入字符串中。