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

MySQL-এ HAVING COUNT() >= 3 দিয়ে কমপক্ষে তিনবার আবৃত্ত মান বের করা

GROUP BY + HAVING COUNT(*) >= N

একটি কলামে যেসব মান কমপক্ষে N বার এসেছে তা বের করতে GROUP BY করে HAVING COUNT(*) >= N ব্যবহার করুন।

উদাহরণ

mysql> CREATE TABLE DemoTable1351 (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName VARCHAR(40)
);

mysql> INSERT INTO DemoTable1351 (StudentName) VALUES 
('Chris'), ('Bob'), ('Bob'), ('David'), ('Bob'), ('David'), ('Bob'), ('Mike'), ('David');

mysql> SELECT * FROM DemoTable1351;

কুয়েরি: ≥৩ বার আবৃত নাম

mysql> SELECT * FROM DemoTable1351
GROUP BY StudentName
HAVING COUNT(StudentName) >= 3;

ফলাফল

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 2         | Bob         |
| 4         | David       |
+-----------+-------------+

ব্যাখ্যা: Bob ৪ বার, David ৩ বার এসেছে। Chris, Mike ১ বার → বাদ। SELECT * সাথে GROUP BY MySQL-এ কাজ করে (ONLY_FULL_GROUP_BY অফ থাকলে), কিন্তু সঠিক পদ্ধতিতে SELECT StudentName, COUNT(*) ব্যবহার করা উচিত।

  1. MySQL-এ ডুপ্লিকেট ID গুনুন এবং আলাদা কলামে ফলাফল দেখান

  2. MySQL-এ LIKE অপারেটর ব্যবহার করে নির্দিষ্ট ডুপ্লিকেট রেকর্ড দেখান

  3. MySQL-এ LEFT() ফাংশন দিয়ে বাম পাশ থেকে ১৫ ক্যারেক্টার বের করা

  4. MySQL-এ LEFT() এবং SUBSTRING_INDEX() ব্যবহার করে নামের প্রথম অক্ষর (Initials) বের করা