如何从两个或多个相同的mysql表中得到结果?

时间:2013-07-07 14:17:42

标签: php mysql sum

我有几张相同的桌子。它们看起来像这样:

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来计算特定用户的积分。它完美无缺。但我想从两个或多个表中得出结果。那可能吗?

1 个答案:

答案 0 :(得分: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代替,那么具有相同用户名和分数的行只会被计算(加总)一次

但听起来你应该把它放到一张桌子里。您可能想要了解数据库规范化。