Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL: รวม SUM คอลัมน์เดียวกันจาก 2 ตาราง สำหรับ ID เฉพาะ ด้วย UNION


มี 2 ตาราง คอลัมน์ PlayerId และ PlayerScore เหมือนกัน ต้องการรวม SUM PlayerScore สำหรับ PlayerId เฉพาะ ใช้ UNION

ตารางที่ 1 (DemoTable1)

+----------+-------------+
| PlayerId | PlayerScore |
+----------+-------------+
| 1000     | 87          |
| 1000     | 65          |
| 1001     | 10          |
| 1000     | 45          |
+----------+-------------+

ตารางที่ 2 (DemoTable2)

+----------+-------------+
| PlayerId | PlayerScore |
+----------+-------------+
| 1000     | 67          |
| 1001     | 58          |
| 1000     | 32          |
+----------+-------------+

Query: SUM PlayerScore สำหรับ PlayerId=1000 จากทั้ง 2 ตาราง

mysql> SELECT SUM(firstSum) FROM (
    -> SELECT SUM(PlayerScore) AS firstSum FROM DemoTable1 WHERE PlayerId=1000
    -> UNION
    -> SELECT SUM(PlayerScore) AS firstSum FROM DemoTable2 WHERE PlayerId=1000
    -> ) tbl;

ผลลัพธ์ (87+65+45 + 67+32 = 296)

+---------------+
| SUM(firstSum) |
+---------------+
| 296           |
+---------------+