2014-05-25 56 views
0

該表包含(id,name,place,month,year)。在MySQL中選擇並計數查詢不按預期工作

每個月隨機數的參賽者將參賽。結果放在上面的表格中。所需的報表是看如下:

name, month, place, total for that month 

查詢嘗試:

SELECT name, month, place, COUNT(results.month) AS Total 
FROM results 
WHERE MONTH !=0 
AND name = 'some name' 
AND year=2014 
GROUP BY month 
ORDER BY MONTH 
LIMIT 0 , 30 

例如輸出

some name, 5, 13, 1 

所需的輸出

some name, 5, 13, 25 (or whatever the number of persons was for a particular month) 

我明白了爲什麼我的組通過月不給我t他期望的結果。我只是在努力瞭解我需要做什麼來獲得預期的結果。

回答

0

如果你想要一個名字加上所有參賽者的人數,那麼你可以使用子查詢。

SELECT month, name, place, 
     (select COUNT(*) from results where month <> 0 and year = 2014) AS Total 
FROM results 
WHERE MONTH <> 0 AND 
     name = 'some name' 
     year = 2014 
ORDER BY MONTH 
LIMIT 0 , 30; 

或者月供:

SELECT month, name, place, 
     (select COUNT(*) from results r2 where r2.month = r.month and r2.year = r.year 
     ) AS Total 
FROM results r 
WHERE MONTH <> 0 AND 
     name = 'some name' 
     year = 2014 
ORDER BY MONTH 
LIMIT 0 , 30; 
+0

我一直在尋找的參賽者月是否要在今年所有參賽選手目前還不清楚。當我問我的問題時,你的第二個查詢是我尋找的100%。我只需在名稱和年份之前添加1'和'。我有一個後續問題。我有多年,9歲。第0個月包含全年唯一的用戶列表。我可以多走一個級別,並從每個月的0查詢中獲取每年的名稱,並生成每個季節的名稱列表以用於上面列出的查詢。 – user3672917

+0

@ user3672917。 。 。我實際上並不瞭解修改後的問題。你可能會考慮用樣本數據和期望的結果提出另一個問題。 –

相關問題