0

我有几个相同的表。它们看起来像这样:

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用来计算特定用户的积分。它工作得很好。但我想对两个或多个表的结果求和。那可能吗?

4

1 回答 1

0

UNION ALL如果您不想丢弃表之间的重复项,请使用 a 。

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

如果您UNION改为使用,则具有相同用户名和分数的行将仅计算(求和)一次

但听起来你实际上应该把它放在一个表中。您可能想阅读数据库规范化。

于 2013-07-07T14:19:45.233 回答