2013-06-12 66 views
0

我需要进行一个查询,从一个月返回前十。我希望这可以直接通过MySQL。从一个月中获取总数并限制结果MySQL

基本上我每天都会得到一些数据(大约150行),并提供了有关不同的YouTube用户的一些信息。 每行都有一个标识符,一个日期,YouTuber以及当天youtuber获得的视图数量。它看起来像这样:

ID|Date|Youtuber|Views 
126|2013-01-28|example|482612 

我需要总和所有的意见和一个月的总和。例如May,然后我需要得到那个月的观点最多的结果。

我该怎么做,通过MySQL?或者我需要使用PHP以及? :)

干杯

回答

0

SELECT Youtuber, SUM(Views) as viewTotal FROM <TABLE> WHERE month(Date) = 5 GROUP BY Youtuber ORDER BY viewTotal LIMIT 0,10

+1

@FreshPrinceOfSO,这是允许在MySQL。 –

+1

@BillKarwin不正确。 – Kermit

+0

修改你的有点让它工作:D SELECT Youtuber,SUM(Views)FROM

WHERE month(Date)= 5 group by YouTuber ORDER BY Views DESC LIMIT 0,10 – Jazerix

0
SELECT youtuber, SUM(views) AS total_views 
FROM yourtable 
WHERE date >= '2013-05-01' AND date < '2013-06-01' 
GROUP BY youtuber 
ORDER BY total_views DESC 
LIMIT 10; 
0

我看到两个这两个疑问:

  1. 总和所有的一个月的意见。例如May。

    SELECT SUM(Views) as TotalViews 
    FROM MyTable 
    WHERE Date >= '2013-05-01' AND Date < '2013-06-01'; 
    
  2. 获得该月份观看次数最多的结果。

    SELECT t.YouTuber, t.Date, t.Views 
    From MyTable AS t 
    JOIN (
        SELECT YouTuber, MAX(Views) AS Views 
        FROM MyTable 
        WHERE Date >= '2013-05-01' AND Date < '2013-06-01' 
        GROUP BY YouTuber 
    ) AS max USING (YouTuber, Views) 
    WHERE Date >= '2013-05-01' AND Date < '2013-06-01'; 
    
相关问题