首页 > 解决方案 > 在 SQL 中计算两年之间的人口差异?

问题描述

我想知道如何使用 SQL 计算两年的人口差异。该表包含三列:国家、年份和人口。有关更多信息,您可以通过此链接查看问题 8:https ://www.codecademy.com/practice/projects/world-populations-sql-practice

我已经尝试了下面的代码,但第一个需要手动计算,另一个不起作用。

SELECT population, year FROM population_years
WHERE country = 'Indonesia' AND year = 2000 
OR country = 'Indonesia' AND year = 2010;

SELECT 
(SELECT population, year FROM population_years
WHERE country = 'Indonesia' AND year = 2000) -
(SELECT population, year FROM population_years
WHERE country = 'Indonesia' AND year = 2010)

2010 年和 2000 年印度尼西亚的人口分别为 2.42 亿和 2.14 亿。

那么我可以写什么到我的查询中以便它返回 28M 呢?

谢谢!

标签: sql

解决方案


您可以将 2000 记录与 2010 记录一起加入:

SELECT p10.population - p00.population
FROM population_years p00
    JOIN  population_years p10 ON p10.country = p00.country 
                              AND p10.year = 2010
WHERE p00.country = 'Indonesia' 
  AND p00.year = 2000

推荐阅读