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

จะรับผลรวมสำหรับทุกค่าที่แตกต่างกันในคอลัมน์อื่นใน MySQL ได้อย่างไร


คุณสามารถรับผลรวมสำหรับทุกค่าที่แตกต่างกันในคอลัมน์อื่นด้วยความช่วยเหลือของฟังก์ชันการรวม SUM() ด้วยคำสั่ง GROUP BY เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้:

mysql> สร้างตาราง SumOfEveryDistinct -> ( -> Id int ไม่เป็น null, -> Amount int -> );Query OK, 0 แถวได้รับผลกระทบ (0.59 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้:

mysql> แทรกลงในค่า SumOfEveryDistinct (10,100) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า SumOfEveryDistinct (11,200) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า SumOfEveryDistinct ( 12,300); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า SumOfEveryDistinct (10,400); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า SumOfEveryDistinct (11,500); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.10 วินาที) mysql> แทรกลงในค่า SumOfEveryDistinct (12,600) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า SumOfEveryDistinct (10,700); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า SumOfEveryDistinct ( 11,800); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า SumOfEveryDistinct (12,900); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้:

mysql> เลือก *จาก SumOfEveryDistinct;

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+---------+| รหัส | จำนวน |+---+-------+| 10 | 100 || 11 | 200 || 12 | 300 || 10 | 400 || 11 | 500 || 12 | 600 || 10 | 700 || 11 | 800 || 12 | 900 |+----+-------+9 แถวในชุด (0.00 วินาที)

นี่คือการสืบค้นเพื่อรวมทุกค่าที่แตกต่างกันในอีกคอลัมน์หนึ่ง:

mysql> เลือก Id, sum(Amount) เป็น TotalSum จาก SumOfEveryDistinct -> จัดกลุ่มตาม Id;

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+----------+| รหัส | ผลรวมทั้งหมด |+---+----------+| 10 | 1200 || 11 | 1500 || 12 | 1800 |+----+----------+3 แถวในชุด (0.00 วินาที)