কম্পিউটার টিউটোরিয়াল

MySQL-এ ORDER BY DESC এবং LIMIT 1 ব্যবহার করে সর্বোচ্চ ID ওয়ালা রো বের করা


MySQL-এ সর্বোচ্চ ID বা মান ওয়ালা রো বের করার সেরা পদ্ধতি

MySQL-এ কোনো কলামের সর্বোচ্চ মান ওয়ালা রো বের করতে ORDER BY column DESC LIMIT 1 ব্যবহার করা সবচেয়ে সহজ এবং কার্যকর পদ্ধতি। এটি MAX() দিয়ে মান বের করে আবার জয়েন করার চেয়ে সহজ।

উদাহরণ

টেবিল তৈরি:

CREATE TABLE DemoTable (Id INT, FirstName VARCHAR(50));
INSERT INTO DemoTable VALUES (100, 'Chris'), (110, 'Robert'), (120, 'Mike'), (115, 'Bob');

সর্বোচ্চ ID ওয়ালা রো

SELECT * FROM DemoTable ORDER BY Id DESC LIMIT 1;

আউটপুট:

+------+-----------+
| Id   | FirstName |
+------+-----------+
| 120  | Mike      |
+------+-----------+

তুলনা: MAX() সাবকোয়ারি vs ORDER BY LIMIT

পদ্ধতিকোয়ারিপারফরম্যান্স
ORDER BY DESC LIMIT 1SELECT * FROM t ORDER BY id DESC LIMIT 1ইন্ডেক্স থাকলে খুব দ্রুত (ইন্ডেক্স স্ক্যান ব্যাকওয়ার্ড)
MAX() সাবকোয়ারিSELECT * FROM t WHERE id = (SELECT MAX(id) FROM t)দুইবার স্ক্যান, কিছুটা ধীর

সতর্কতা

  • যদি একাধিক রোতে একই সর্বোচ্চ মান থাকে, LIMIT 1 শুধু একটি রিটার্ন করবে (নondeterministic)।
  • সব রো পেতে হলে: WHERE Id = (SELECT MAX(Id) FROM DemoTable)।
  1. MySQL에서 IS NOT NULL로 NULL 제외하고 NOT NULL 값만 다른 테이블로 복사하기

  2. MySQL-এ NULL মানযুক্ত কলামকে গুন করার সমস্যা সমাধান (COALESCE)

  3. MySQL-এ IN ক্লজ এবং ORDER BY FIELD ব্যবহার করে নির্দিষ্ট ক্রমে ডেটা বের করা

  4. MySQL-এ DISTINCT ব্যবহার করে ডুপ্লিকেট রো থেকে শুধু একটি রো দেখানো