2015-02-24 84 views
0

數據表:分組數據

idProv Province 
1  JT 
2  JB 
3  BT 

數據表:

idCity IdProv City 
    1  1  BL 
    2  1  ML 
    3  1  MD 
    4  2  CB 
    5  2  TM 
    6  3  YK 
    7  3  SM 

數據數據表:

idData idCity population data1 data2 
1  1  100   200  200 
2  2  100   200  300 
3  3  50   100  150 
4  4  20   10  20 
5  5  20   20  40 
6  6  50   200  400 
7  7  50   100  200 

我想爲每個省的數據表分組數據。

輸出應爲:

Province population data1 data2 
JT   250   500  750 
JB   40   30  60 
BT   100   300  600 

SQL FIDDLE

+0

您好,歡迎。在堆棧溢出中,我們希望你先自己去看看,然後我們會幫助你。當我看時 - 那個小提琴沒有任何東西。你試圖得到這個工作(甚至不工作)?你遇到了什麼問題? (不要在評論中回覆,編輯你的答案並添加你的代碼)。 – 2015-02-24 05:42:42

+0

嗨Taryn,即時通訊只是學習MySQL,所以我嘗試了一切,但無法得到結果,所以我決定不把我的MySQL查詢到我的問題.. – user2114544 2015-02-24 08:36:55

+0

我明白,但這不是如何堆棧溢出的工作原理 - 我們希望看到它 - 即使它是錯的 - 因爲那樣我們可以看到A)你至少已經親自去過它了(我們更可能幫助那些已經去過的人,而不是那些只是要求我們全部去做的人對他們來說)B)對你想要做什麼有更多的理解(有時候看你如何嘗試它會告訴我們你想做什麼,有時它會告訴我們你的想法中的錯誤是我們可以讓你知道,你可以更好地理解)。 – 2015-02-25 23:39:13

回答

0

聯合使用INNER JOIN的3個表,並獲得各列的SUM如​​,data1,並data2。然後,我申請了GROUP BYORDER BY以獲得您想要的結果。見我的查詢及以下演示:

SELECT 
     Province, 
     SUM(population) AS Population, 
     SUM(data1) AS Data1, 
     SUM(data2) AS Data2 
FROM data A 
INNER JOIN City B ON A.idCity=B.idCity 
INNER JOIN Province C ON B.Idprov=C.Idprov 
GROUP BY Province 
ORDER BY Province DESC 

SQL FIDDLE DEMO HERE