第一张表: 国家 城市 人口 计算每一个城市的人口在它所属国家的人口占比,sql实现
时间: 2024-06-06 15:11:12 浏览: 17
假设表名为population,包含以下字段:country(国家)、city(城市)、population(人口)。
可以使用以下SQL语句计算每一个城市的人口在它所属国家的人口占比:
SELECT country, city, population/(SUM(population) OVER (PARTITION BY country)) AS percentage
FROM population;
相关问题
第一张表: 国家 城市 人口 计算每一个城市的人口在它所属国家的人口占比
| 国家 | 城市 | 人口 |
| ---- | ---- | ---- |
| 中国 | 北京 | 2154万 |
| 中国 | 上海 | 2424万 |
| 中国 | 广州 | 1524万 |
| 美国 | 纽约 | 862万 |
| 美国 | 洛杉矶 | 399万 |
| 美国 | 芝加哥 | 270万 |
| 国家 | 城市 | 人口占比 |
| ---- | ---- | -------- |
| 中国 | 北京 | 25.7% |
| 中国 | 上海 | 29.0% |
| 中国 | 广州 | 18.3% |
| 美国 | 纽约 | 42.7% |
| 美国 | 洛杉矶 | 19.8% |
| 美国 | 芝加哥 | 13.4% |
sqlserver创建存储过程重第一个表中拉取数据,然后插入到第二张表中如何实现
你可以参考以下的代码示例来创建一个存储过程,该存储过程会从第一个表中拉取数据,并将数据插入到第二张表中:
```
CREATE PROCEDURE InsertUserData
AS
BEGIN
INSERT INTO SecondTable (Column1, Column2, Column3)
SELECT Column1, Column2, Column3 FROM FirstTable
END
```
上面的代码创建了一个名为 `InsertUserData` 的存储过程,它会从 `FirstTable` 表中拉取数据,并将数据插入到 `SecondTable` 表中。
你可以将上面的代码复制到 SQL Server 中的查询窗口中并执行,以创建这个存储过程。之后,你可以使用以下的代码来调用这个存储过程:
```
EXEC InsertUserData
```
这会执行 `InsertUserData` 存储过程,并将 `FirstTable` 表中的数据插入到 `SecondTable` 表中。请注意,你需要根据你的实际情况修改代码中的表名和列名。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)