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

MySQL:อัปเดตฟิลด์ด้วย Group By?


หากต้องการอัปเดตฟิลด์ด้วย GROUP BY ให้ใช้ ORDER BY LIMIT พร้อมคำสั่ง UPDATE -

mysql> สร้างตาราง DemoTable2018 -> ( -> EmployeeId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> EmployeeName varchar (20), -> EmployeeSalary int -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.61 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable2018 (EmployeeName,EmployeeSalary) ('Chris', 10,000); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงใน DemoTable2018 (EmployeeName,EmployeeSalary) ค่า ('David',12560);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงใน DemoTable2018(EmployeeName,EmployeeSalary) ค่า ('Chris',25400);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที)

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

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

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

<ก่อนหน้า>+-----------+--------------+----------------+| รหัสพนักงาน | ชื่อพนักงาน | เงินเดือนพนักงาน |+------------+--------------+----------------+| 1 | คริส | 10000 || 2 | เดวิด | 12560 || 3 | คริส | 25400 |+------------------------------------------------+----------------+3 แถว ในชุด (0.00 วินาที)

นี่คือแบบสอบถามไปยังฟิลด์อัพเดต MySQL -

mysql> อัปเดต DemoTable2018 -> ตั้งค่า EmployeeSalary=EmployeeSalary+2500 โดยที่ EmployeeName='Chris' -> เรียงลำดับตาม EmployeeId จำกัด 1 ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) แถวที่ตรงกัน:1 เปลี่ยนแล้ว:1 คำเตือน:0

ให้เราตรวจสอบบันทึกตารางอีกครั้ง -

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

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

<ก่อนหน้า>+-----------+--------------+----------------+| รหัสพนักงาน | ชื่อพนักงาน | เงินเดือนพนักงาน |+------------+--------------+----------------+| 1 | คริส | 12500 || 2 | เดวิด | 12560 || 3 | ไมค์ | 25400 |+------------------------------------------------+----------------+3 แถว ในชุด (0.00 วินาที)