我正在寫一個賽馬網絡應用程序,我有一個統計頁面。我想要做的是顯示每年有多少獲勝者。多個表上的SQL計數(*)
目前,我有這樣的:
SELECT `Horse Number`, Count(*) AS `Total Winners`
FROM `races`.`2009`
WHERE `Win $`>0
GROUP BY `Horse Number`
ORDER BY Count(*) DESC;
它的工作原理就像一個魅力,並返回以下
Horse Number | Total Winners
1|48
2|49
3|39
4|31
5|26
6|31
7|21
8|25
9|31
10|16
11|16
12|20
13|9
14|8
15|6
16|3
17|3
18|2
19|2
我現在已經創建了一個表,2010年,我想SQL返回類似的東西,但我希望它能同時搜索2009年和2010年。 我認爲這樣的事情可能會訣竅。
SELECT `Horse Number`, Count(*) AS `Total Winners`
FROM `races`.`2009`
WHERE `Win $`>0
GROUP BY `Horse Number`
UNION
SELECT `Horse Number`, Count(*) AS `Total Winners`
FROM `races`.`2010`
WHERE `Win $`>0
GROUP BY `Horse Number`
ORDER BY Count(*) DESC;
但它只是在表的底部退回多餘的結果,所以我現在有兩排像這樣
Horse Number | Total Winners
1|48
2|49
3|39
4|31
5|26
6|31
7|21
8|25
9|31
10|16
11|16
12|20
13|9
14|8
15|6
16|3
17|3
18|2
19|2
1|0
2|0
3|0
4|0
5|0
6|0
7|0
8|0
9|0
10|0
11|0
12|0
13|0
14|0
15|0
16|0
17|0
18|0
19|0
每匹馬有沒有人能幫助我,請
謝謝
在不同的表,每年用於存儲你的結果是不是SQL的方式。您應該使用一個包含該列索引的年份列表。這會讓事情變得更容易。 – 2010-01-01 08:36:32
這就是爲什麼per-period表不適用於外行。 – 2010-01-01 08:37:08