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

UPDATE แค่ 1 แถว เรียง DESC ใช้ LIMIT 1 ใน MySQL

ใช้ ORDER BY ... DESC LIMIT 1 อัปเดตแถวเดียวที่ตรงเงื่อนไขมากที่สุด

สร้างตารางและเพิ่มข้อมูล

mysql> create table DemoTable ( 
    StudentName varchar(100), 
    StudentMarks int ); 
Query OK, 0 rows affected (0.54 sec)

mysql> insert into DemoTable values('Chris',45); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('Bob',78); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('Mike',34); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('Robert',67); Query OK, 1 row affected (0.16 sec)

อัปเดตแถวที่คะแนนมากที่สุด (Bob 78 คะแนน)

mysql> update DemoTable set StudentName='Adam' 
order by StudentMarks DESC LIMIT 1; 
Query OK, 1 row affected (0.10 sec)

ตรวจสอบผลลัพธ์

mysql> select * from DemoTable;
+-------------+--------------+
| StudentName | StudentMarks |
+-------------+--------------+
| Chris       | 45           |
| Adam        | 78           |
| Mike        | 34           |
| Robert      | 67           |
+-------------+--------------+
4 rows in set (0.00 sec)

โครงสร้าง: UPDATE table SET col=val ORDER BY col DESC LIMIT n