gpt4 book ai didi

多个表上的 SQL 计数(*)

转载 作者:行者123 更新时间:2023-12-02 09:48:29 25 4
gpt4 key购买 nike

我正在编写一个赛马网络应用程序,并且有一个统计页面。我想做的是展示每年有多少获奖者。

目前我有这个:

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;

但它只是在表格底部返回额外的结果,所以我现在每匹马都有 2 行,如下所示

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

有谁可以帮助我吗

谢谢

最佳答案

首先,我建议一年内有一个带有额外列的表。

二、利用当前的表结构,可以这样做

SELECT `Horse Number`, Count(*) AS `Total Winners`
FROM (
SELECT * FROM `races`.`2009`
UNION ALL
SELECT * FROM `races`.`2010`
) all_races
WHERE `Win $`>0
GROUP BY `Horse Number`
ORDER BY Count(*) DESC;

关于多个表上的 SQL 计数(*),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1988189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com