我有几张相同的桌子。它们看起来像这样:
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 :(得分: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
代替,那么具有相同用户名和分数的行只会被计算(加总)一次
但听起来你应该把它放到一张桌子里。您可能想要了解数据库规范化。