2013-06-12 101 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'; 
    
相關問題