2013-07-07 96 views
0

我有幾個相同的表。他們是這樣的:如何從兩個或多個相同的mysql表中彙總結果?

Table 1 
-------------------- 
Username  Points 
User 1   10 
User 2   15 
User 2   1 
User 1   3 

Table 2 
--------------------- 
Username  Points 
User 1    10 
User 2    15 
User 2    5 
User 1    15 

我使用SELECT username, SUM(points) AS total_points來計算特定用戶的點。它的工作非常完美。但我想從兩個或多個表中總結結果。那可能嗎?

+0

歡迎來到Stack Overflow。如果您的問題的答案證明有用,請點擊綠色複選框接受它。 –

回答

0

如果您不想丟棄表格之間的重複項,請使用UNION ALL

select username, sum(points) as total_points 
from (
    select username, points 
    from table_1 
    union all 
    select username, points 
    from table_2 
) t 

如果使用UNION代替,然後使用相同的用戶名和分行將只能算作(總結)一旦

但它聽起來像你真正應該將它放入一個表。您可能需要閱讀數據庫規範化。

+0

非常感謝!工作完美! :))) – user2394960