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

MySQL-এ শুধু একবার উপস্থিত মান বের করা (GROUP BY HAVING COUNT=1)

MySQL-এ ডুপ্লিকেট ও নন-ডুপ্লিকেট মানের মাঝপথ থেকে শুধু একবার উপস্থিত মান পেতে GROUP BY ... HAVING COUNT(*) = 1 ব্যবহার করুন।

উদাহরণ

mysql> CREATE TABLE DemoTable723 (Value INT);
Query OK, 0 rows affected (0.58 sec)

mysql> INSERT INTO DemoTable723 VALUES
(100), (200), (200), (100), (300), (400), (400), (600), (400), (200);
Query OK, 10 rows affected

সব রেকর্ড

mysql> SELECT * FROM DemoTable723;
+-------+
| Value |
+-------+
| 100   |
| 200   |
| 200   |
| 100   |
| 300   |
| 400   |
| 400   |
| 600   |
| 400   |
| 200   |
+-------+

শুধু একবার থাকা মান

mysql> SELECT * FROM DemoTable723 GROUP BY Value HAVING COUNT(Value) = 1;
+-------+
| Value |
+-------+
| 300   |
| 600   |
+-------+

ব্যাখ্যা

  • GROUP BY Value → একই মানগুলো গ্রুপ করে
  • HAVING COUNT(Value) = 1 → শুধু সেই গ্রুপ যাদের কাউন্ট ১
  • ১০০ (২ বার), ২০০ (৩ বার), ৪০০ (৩ বার) বাদ পড়েছে

বিকল্প: শুধু মানগুলো (DISTINCT লুকাতে)

SELECT Value FROM DemoTable723
GROUP BY Value HAVING COUNT(*) = 1;
  1. MySQL-এ নির্দিষ্ট কলাম থেকে শুধু 'NO' মান সংখ্যা বের করা

  2. MySQL-এ ডুপ্লিকেট কলাম মানवाले গ্রুপ থেকে ন্যূনতম রো বের করা (MIN + GROUP BY)

  3. MySQL-এ SUBSTRING_INDEX() দিয়ে হাইফেন-বিভক্ত স্ট্রিং আলাদা কলামে বির্ভক্ত করা

  4. MySQL-এ GROUP BY এবং MIN() ব্যবহার করে ডুপ্লিকেট আইডির জন্য ন্যূনতম ফ্লোটিং ভ্যালু বের করা