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

MySQL-এ ডুপ্লিকেট ভ্যালুযুক্ত টেবিল থেকে টপ সক্সেস এন্ট্রি সিলেক্ট করা

GROUP BY এবং COUNT() ব্যবহার করে সবচেয়ে বেশি বার আসা এন্ট্রিগুলো বের করা যায়।

উদাহরণ:

টেবিল তৈরি:

CREATE TABLE DemoTable610 (SubjectName VARCHAR(100));

রেকর্ড যোগ করা (১৫টি রো, MySQL ৭ বার, Java ৩ বার, MongoDB ৩ বার):

INSERT INTO DemoTable610 VALUES
('MySQL'), ('Java'), ('MySQL'), ('MongoDB'), ('MySQL'),
('MySQL'), ('Java'), ('MongoDB'), ('C'), ('C++'),
('MongoDB'), ('MySQL'), ('Java'), ('Python'), ('MySQL');

টপ ২ সাবজেক্ট বের করা:

SELECT SubjectName FROM (
    SELECT SubjectName FROM DemoTable610
    GROUP BY SubjectName
    ORDER BY COUNT(SubjectName) DESC
    LIMIT 2
) AS tbl
ORDER BY SubjectName;

ফলাফল:

+-------------+
| SubjectName |
+-------------+
| Java        |
| MySQL       |
+-------------+

ব্যাখ্যা: ইনার কোয়েরি COUNT() DESC দিয়ে টপ ২ বের করে, আউটার কোয়েরি আলফাবেটিক্যালি সাজায়। MySQL ৮.০+ এ Window Function (ROW_NUMBER() OVER) ব্যবহার করেও করা যায়, যা আরও দক্ষ।

  1. MySQL টেবিল থেকে রিভার্স অর্ডারে সংরক্ষিত ডুপ্লিকেট মান কীভাবে ডিলিট করবেন?

  2. MySQL-এ অন্য একটি টেবিল থেকে মান নিয়ে টেবিল আপডেট করা

  3. MySQL-এ নির্দিষ্ট মানগুলোর রোকে তালিকার শীর্ষে আনা (ORDER BY ... DESC)

  4. Java দিয়ে MySQL ডেটাবেস থেকে লাস্ট রেকর্ড পাওয়া