sql - 在 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 呢?
谢谢!
解决方案
您可以将 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
推荐阅读
- php - 日期在 db 中存储为 varchar,无法操作数据
- scala - akka.streams.Source 可以发出值(类似于 monix.BehaviorSubject)
- javascript - 子进程被意外杀死而没有错误输出
- android - 如何为已安装的 Android 应用程序提供可编辑文件?
- java - PDFBox 渲染图像缺少内容
- lua - 在(旧)Lua 中标记字符串
- javascript - 如何将输入到包含在 Bootstrap 模式(表单)中的输入中的值传递给 HTML 表?
- javascript - Inline If 在 Javascript 中操作 CSS 代码
- javascript - 我的 Vue Hello World 示例显示双括号而不是呈现文本
- ios - 用苹果登录到 firebase 无法在 firebase 注册