计算每一个城市的人口在它所属国家的人口占比sql
时间: 2024-05-15 08:19:48 浏览: 11
假设有两个表:City(城市)和 Country(国家),它们之间有一个外键关联。City表中包含city_name(城市名称)和population(人口)两个字段;Country表中包含country_name(国家名称)和population(人口)两个字段。
下面是计算每一个城市的人口在它所属国家的人口占比的SQL语句:
```
SELECT
c.city_name,
c.population,
COALESCE(c.population / cc.country_population, 0) AS population_ratio
FROM
City c
INNER JOIN Country cc ON c.country_id = cc.id
```
解释:
- 使用INNER JOIN将City表和Country表连接起来,连接条件为City表的country_id字段与Country表的id字段相等。
- 使用COALESCE函数计算人口占比,如果分母为0,则返回0。
相关问题
第一张表: 国家 城市 人口 计算每一个城市的人口在它所属国家的人口占比,sql实现
假设表名为population,包含以下字段:country(国家)、city(城市)、population(人口)。
可以使用以下SQL语句计算每一个城市的人口在它所属国家的人口占比:
SELECT country, city, population/(SUM(population) OVER (PARTITION BY country)) AS percentage
FROM population;
Sql计算占比
要计算某个字段在总数中的占比,可以使用以下SQL语句:
```
SELECT
COUNT(*) AS total_count,
COUNT(CASE WHEN field_name = 'some_value' THEN 1 END) AS some_value_count,
COUNT(CASE WHEN field_name = 'some_value' THEN 1 END) / COUNT(*) AS some_value_percentage
FROM table_name;
```
其中,`field_name`是要计算占比的字段名,`'some_value'`是要统计的值。最后一行计算了该值在总数中的占比,结果为一个小数,可以乘以100后转换为百分比形式。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)