2014-09-25 52 views
0

我一直在环顾四周,但无法在任何地方找到我的答案。如何从今天选择最受欢迎的行

我有一个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所有曲目,并检查每个组中有多少行按COUNT顺序返回,其中视图是最高的...

任何人有想法吗?

+0

请提供一些示例数据和所需的输出 – peterm 2014-09-25 21:17:28

+0

这里要说的是,你找不到的问题 - http://stackoverflow.com/问题/ 17198468/from-the-timestamp-in-sql-selecting-records-from-today-yesterday-this-week-t – Bulat 2014-09-25 21:21:24

回答

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

+1,@bulat,perfect – radar 2014-09-25 21:20:40

+0

窍门!非常感谢你! – 2014-09-25 21:25:27

2
SELECT vwatch_track , count(*) 
FROM g_video_watch 
WHERE vwatch_date >= CURRENT_DATE 
GROUP BY vwatch_track