1

我今天刚开始在 w3schools.com 上学习 SQL,并希望确保我走在正确的轨道上。

我正在尝试解决这个问题:

编写一条 SQL 语句,查找美国和墨西哥的总人口(在此数据库中)。

由于缺乏声誉,我无法在此处发布表格,但这很简单。给定墨西哥的国家 ID 为 2,美国 ID 为 5。

该表有 4 列,CITY_ID、NAME、COUNTRY_ID 和 POPULATION。你不知道有多少行。所以基本上我需要添加具有相应“2”或“5”国家 ID 的 POPULATION 列。

这是我到目前为止所拥有的:

//this statement gives result-set with all the cities in Mexico and the U.S.
SELECT * FROM City
WHERE country_id=’5’
OR country_id=’2’

//here, I don't know how to reference the result-set
SELECT SUM(population) FROM result-set

问题还说要在一个声明中做到这一点,有没有更简单的方法来做到这一点?谢谢。

4

3 回答 3

2

您将SUM(population)表达式放入查询中..

SELECT SUM(population) AS TotalPopulation
  FROM City
 WHERE country_id='5'
    OR country_id='2'

请注意,您也可以编写x=a or x=bas x in (a,b),即

 WHERE country_id in (5,2)

(如果 country_id 是整数,您也可以删除引号,尽管它们不会失败)

于 2013-04-25T09:32:18.043 回答
0

你快到了。

SELECT Sum(population) FROM City
WHERE country_id=2
OR country_id=5

我假设国家 ID 是整数,所以不需要语音标记

于 2013-04-25T09:33:50.350 回答
0
SELECT SUM(population)
FROM City
WHERE country_id=’5’
OR country_id=’2’
于 2013-04-25T09:33:30.020 回答