Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 按页面视图创建24小时顶级表格_Mysql - Fatal编程技术网

Mysql 按页面视图创建24小时顶级表格

Mysql 按页面视图创建24小时顶级表格,mysql,Mysql,如果我有以下表格,我将如何按页面浏览量创建“最近24小时顶部”表格 movie:id,title pageview:id、电影、查看日期 我需要像这样的第三张桌子 top:id、movie、moviecount24 所以我可以提出这样的疑问: 从top24 order by viewcount24 desc limit 30中选择* 我需要使用一个mysql查询创建top表。让我稍微重构一下Johan的响应: select pageview.id as pageview_id

如果我有以下表格,我将如何按页面浏览量创建“最近24小时顶部”表格

movie:id,title

pageview:id、电影、查看日期

我需要像这样的第三张桌子

top:id、movie、moviecount24

所以我可以提出这样的疑问:

从top24 order by viewcount24 desc limit 30中选择*


我需要使用一个mysql查询创建
top
表。

让我稍微重构一下Johan的响应:

select       
  pageview.id as pageview_id
  ,movie.title as move_title
  ,count(movie.id) as moviecount24
from pageview
inner join movie on (pageview.movie = movie.id)
where pageview.vieweddate between date_sub(now(), interval 1 day) and now()
order by moviecount24 desc
limit 30;
INSERT INTO top
SELECT movie.id AS id, COUNT(movie.id) as moviecount24
FROM pageview
LEFT JOIN movie ON pageview.movie = movie.id
WHERE vieweddate > NOW() - INTERVAL 1 DAY

LEFT JOIN
在这里很重要,因为有些电影可能没有观看次数,但结果中仍然应该有。

我需要第三个表,名为
top
Insert into top select pageview.id作为pageview\u id…,请参见下面yegor256的答案。零观看次数很难进入前30名。。。。,所以我不明白为什么要将这些结果缓存在表
top
中。不过,如果你愿意的话,这也行。