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

แบบสอบถาม MySQL เพื่อค้นหาผลรวมของฟิลด์ที่มีค่าคอลัมน์เดียวกันหรือไม่


ใช้ส่วนคำสั่ง GROUP BY สำหรับสิ่งนี้ ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง sumOfFieldsDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก -> ClientSerialNumber varchar(100), -> ClientCost int -> ); สืบค้นตกลง 0 แถวได้รับผลกระทบ (0.50 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก -

mysql> แทรกลงในค่า sumOfFieldsDemo(ClientSerialNumber,ClientCost) ('1111',450); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.16 วินาที)mysql> แทรกลงในค่า sumOfFieldsDemo (ClientSerialNumber, ClientCost) ('2222',550);ตกลง แบบสอบถาม 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า sumOfFieldsDemo(ClientSerialNumber,ClientCost) ('3333',150); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.64 วินาที) mysql> แทรกลงใน sumOfFieldsDemo (ClientSerialNumber, ClientCost) ค่า ('3333',250); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงใน sumOfFieldsDemo (ClientSerialNumber, ClientCost) ค่า ('2222',1000); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า sumOfFieldsDemo(ClientSerialNumber,ClientCost) ('1111',1000); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า sumOfFieldsDemo (ClientSerialNumber, ClientCost) ('1111',500); แบบสอบถามตกลง 1 แถวที่ได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า sumOfFieldsDemo(ClientSerialNumber,ClientCost) ('4444',100); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+--------------------+-----------+| รหัส | ClientSerialNumber | ClientCost |+----+--------------------+-----------+| 1 | 1111 | 450 || 2 | 2222 | 550 || 3 | 3333 | 150 || 4 | 3333 | 250 || 5 | 2222 | 1000 || 6 | 1111 | 1000 || 7 | 1111 | 500 || 8 | 4444 | 100 |+----+--------------------+-----------+8 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อค้นหาผลรวมของเขตข้อมูลที่มีค่าคอลัมน์เดียวกัน -

mysql> เลือก Id,ClientSerialNumber,SUM(ClientCost) AS TotalSum -> จาก sumOfFieldsDemo -> จัดกลุ่มตาม ClientSerialNumber;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+--------------------+----------+| รหัส | ClientSerialNumber | ผลรวมทั้งหมด |+----+--------------------+----------+| 1 | 1111 | 1950 || 2 | 2222 | 1550 || 3 | 3333 | 400 || 8 | 4444 | 100 |+----+--------------------+----------+4 แถวในชุด (0.00 วินาที)