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

MySQL: ผลรวมราคา (SUM) แยกตาม ID ที่ซ้ำกัน

การใช้ SUM() กับ GROUP BY

ฟังก์ชันรวม SUM() ร่วมกับ GROUP BY คำนวณผลรวมต่อกลุ่ม

ตัวอย่าง

mysql> create table DemoTable850(Id int, Price int);
Query OK, 0 rows affected (0.54 sec)
mysql> insert into DemoTable850 values(1,90);
mysql> insert into DemoTable850 values(2,100);
mysql> insert into DemoTable850 values(2,50);
mysql> insert into DemoTable850 values(1,80);
mysql> insert into DemoTable850 values(1,60);

คำสั่ง SUM แยกตาม Id = 1

mysql> select Id, SUM(Price) from DemoTable850 where Id = 1;

ผลลัพธ์:

+------+------------+
| Id   | SUM(Price) |
+------+------------+
| 1    | 230        |
+------+------------+

หาผลรวมทุกกลุ่ม (GROUP BY)

mysql> select Id, SUM(Price) as TotalPrice from DemoTable850 group by Id;

ผลลัพธ์:

+------+------------+
| Id   | TotalPrice |
+------+------------+
| 1    | 230        |
| 2    | 150        |
+------+------------+

ฟังก์ชันรวมที่เกี่ยวข้อง

  • COUNT(*) - นับจำนวนแถว
  • AVG() - ค่าเฉลี่ย
  • MIN(), MAX() - ค่าต่ำสุด/สูงสุด
  • GROUP_CONCAT() - รวมค่าเป็นสตริง

สรุป

ใช้ SELECT id, SUM(price) FROM table GROUP BY id เพื่อหาผลรวมต่อกลุ่ม ใช้ WHERE กรองกลุ่มเฉพาะได้