我今天刚开始在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
问题还说在一个声明中这样做,有更简单的方法吗?感谢。
答案 0 :(得分:2)
您将SUM(population)
表达式放入查询中..
SELECT SUM(population) AS TotalPopulation
FROM City
WHERE country_id='5'
OR country_id='2'
请注意,您也可以将x=a or x=b
写为x in (a,b)
,即
WHERE country_id in (5,2)
(如果country_id是整数,你也可以删除引号,尽管它们不会失败)
答案 1 :(得分:0)
SELECT SUM(population)
FROM City
WHERE country_id=’5’
OR country_id=’2’
答案 2 :(得分:0)
你快到了。
SELECT Sum(population) FROM City
WHERE country_id=2
OR country_id=5
我假设国家ID是整数,因此不需要语音标记