2013-04-25 61 views
1

我刚开始在w3schools.com上学习SQL,希望确保自己走上正轨。Beginning 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 

问题也表示,这样做在一个声明中,有一个简单的方法来做到这一点?谢谢。

回答

2

你把SUM(population)表达到查询..

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

注意,你也可以写x=a or x=bx in (a,b),即

WHERE country_id in (5,2) 

(你也可以删除引号如果COUNTRY_ID是整数虽然它不会与他们失败)

+0

@ Scorpi0哇谢谢你们不知道我会得到一个答案这么快! – user2319056 2013-04-25 09:44:30

0
SELECT SUM(population) 
FROM City 
WHERE country_id=’5’ 
OR country_id=’2’ 
0

你快到了。

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

我承担国家id为整数,因此不需要speechmarks