使用 COUNT 和 WHERE 时,如何计算每年占总数的百分比?

How do I calculate the percent of the total per year when COUNT and WHERE is used?

在SQL服务器上,我有一个查询

SELECT season, COUNT(DISTINCT player_name) AS 'No. of Foreign Players'
FROM nbastats
WHERE country <> 'USA'
GROUP BY season

它return这些结果

id season No. of Foreign Players
1 1996-97 9
2 1997-98 14
3 1998-99 22
4 1999-00 24
5 2000-01 40
6 2001-02 51
7 2002-03 62

我想做的是改为获取每个赛季外籍球员(占球员总数)的百分比。数据库只提供“国家”所以我假设我只能使用

WHERE country <> 'USA'

也许可以除以总数,但我不确定如何使用 WHERE。任何帮助将不胜感激!

我想你想要一个有条件的比率:

SELECT season,
       COUNT(DISTINCT CASE WHEN country <> 'USA' THEN player_name END) * 1.0 / COUNT(DISTINCT player_name) AS foreign_ratio
FROM nbastats
GROUP BY season