2013-04-25 60 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