开始SQL如何在同一行中汇总和选择列?

时间:2013-04-25 09:30:25

标签: sql

我今天刚开始在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

问题还说在一个声明中这样做,有更简单的方法吗?感谢。

3 个答案:

答案 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是整数,因此不需要语音标记