MySQL-এ GREATEST() ফাংশন ব্যবহার করে কোনো কলামের মান এবং একটি নির্দিষ্ট ভ্যালুর মধ্যে সর্বোচ্চ মান দিয়ে আপডেট করা যায়।
টেবিল ও ডেটা
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Number INT
);
mysql> INSERT INTO DemoTable(Number) VALUES (10), (50), (100), (190);
আপডেট করার আগে
+----+--------+ | Id | Number | +----+--------+ | 1 | 10 | | 2 | 50 | | 3 | 100 | | 4 | 190 | +----+--------+
Id=3 এর জন্য ২০০ এবং বর্তমান মানের মধ্যে সর্বোচ্চ আপডেট
mysql> UPDATE DemoTable SET Number = GREATEST(200, Number) WHERE Id = 3; Query OK, 1 row affected (0.16 sec)
আপডেট করার পর
+----+--------+ | Id | Number | +----+--------+ | 1 | 10 | | 2 | 50 | | 3 | 200 | | 4 | 190 | +----+--------+
ব্যাখ্যা: GREATEST(200, Number) ২০০ এবং বর্তমান Number-এর মধ্যে বড়টাই রিটার্ন করে। Id=3-এ Number ছিল ১০০, তাই ২০০ হয়ে গেছে। Id=4-এ ১৯০ < ২০০, কিন্তু WHERE Id=3 থাকায় সেটি আপডেট হয়নি। সকল রো আপডেট করতে WHERE বাদ দিন।