我一直在四处寻找但无法在任何地方找到答案。
我有一个MySQL表,看起来像这样:
CREATE TABLE IF NOT EXISTS `g_video_watch` (
`vwatch_id` int(11) NOT NULL,
`vwatch_user` int(11) NOT NULL,
`vwatch_track` int(11) NOT NULL,
`vwatch_ip` varchar(255) NOT NULL,
`vwatch_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=36 ;
每当页面打开一行时,用户可以观看视频的页面,其中包含用户所在的信息(vwatch_user)他或她打开的视频/视频(vwatch_track)以及IP是什么。此外,还插入了当前时间戳,以实现我想要实现的目标。
目标是展示今天最受关注的曲目/视频。换句话说,选择TODAY,GROUP all tracks并检查每组返回多少行,以COUNT顺序排列,其中视图最高...
有人有想法吗?
答案 0 :(得分:3)
要获得100首观看次数最多的曲目,请尝试以下操作:
SELECT vwatch_track, COUNT(*)
FROM g_video_watch
WHERE DATE(vwatch_date) = DATE(NOW())
GROUP BY vwatch_track
ORDER BY COUNT(*) DESC
LIMIT 100
答案 1 :(得分:2)
SELECT vwatch_track , count(*)
FROM g_video_watch
WHERE vwatch_date >= CURRENT_DATE
GROUP BY vwatch_track