समस्या
MySQL सीधे UPDATE में GROUP BY का समर्थन नहीं करता। समाधान: ORDER BY LIMIT का उपयोग करें।
उदाहरण
टेबल बनाएं:
mysql> CREATE TABLE DemoTable2018 (
-> EmployeeId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> EmployeeName VARCHAR(20),
-> EmployeeSalary INT
-> );
डेटा डालें:
mysql> INSERT INTO DemoTable2018 (EmployeeName, EmployeeSalary) VALUES ('Chris', 10000);
mysql> INSERT INTO DemoTable2018 (EmployeeName, EmployeeSalary) VALUES ('David', 12560);
mysql> INSERT INTO DemoTable2018 (EmployeeName, EmployeeSalary) VALUES ('Chris', 25400);
अपडेट क्वेरी
Chris की पहली प्रविष्टि (EmployeeId के अनुसार) का वेतन बढ़ाएं:
mysql> UPDATE DemoTable2018
-> SET EmployeeSalary = EmployeeSalary + 2500
-> WHERE EmployeeName = 'Chris'
-> ORDER BY EmployeeId LIMIT 1;
परिणाम
+------------+--------------+----------------+ | EmployeeId | EmployeeName | EmployeeSalary | +------------+--------------+----------------+ | 1 | Chris | 12500 | | 2 | David | 12560 | | 3 | Chris | 25400 | +------------+--------------+----------------+
नोट: ORDER BY LIMIT विशिष्ट पंक्तियों को लक्षित करता है जब GROUP BY सीधे उपयोग नहीं किया जा सकता।