php - 如何对两个或多个相同的 mysql 表的结果求和?

标签 php mysql sum

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

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) AStotal_points来计算特定用户的积分。而且效果很完美。但我想对两个或多个表的结果求和。那可能吗?

最佳答案

如果您不想丢弃表之间的重复项,请使用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,则具有相同用户名和积分的行将仅计算(求和)一次

但听起来您实际上应该将其放入一个表中。您可能想阅读有关数据库规范化的内容。

关于php - 如何对两个或多个相同的 mysql 表的结果求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17512921/

相关文章:

PHP Facebook SDK如何在没有 token 的情况下获取图形API

php - 将数组数据插入mysql php

MySql:如何从不同的表中获取 SUM 值?

PHPUnit 和 mysqli_connect 生成警告

php - MySQL 通过多个内连接进行过滤

php - 选择最低连续值?

c# - 数组总和中的 Windows 应用程序问题

excel - 如何添加超过 240 个条目的每 3 行的值(例如 : a1, a4、a7、a10 等)?

php - Eloquent 将 POINT 数据返回为 UTF8

php - 带有可选参数的 PDO 准备语句