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

MySQL-এ GROUP BY এবং HAVING দিয়ে একই কালাম মান والی সারি বের করা

যদি আপনি চান যে কোনো নির্দিষ্ট কালামের মান একাধিক সারিতে একসাথে আছে কিনা তা যাচাই করা, তবে GROUP BY এবং HAVING ক্লজ ব্যবহার করা যেতে পারে।

টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable (
    -> StudentId INT,
    -> StudentMarks INT
    -> );
Query OK, 0 rows affected (4.71 sec)

mysql> INSERT INTO DemoTable VALUES(23, 58);
mysql> INSERT INTO DemoTable VALUES(25, 89);
mysql> INSERT INTO DemoTable VALUES(26, 58);
mysql> INSERT INTO DemoTable VALUES(28, 98);

সকল রেকর্ড

+-----------+--------------+
| StudentId | StudentMarks |
+-----------+--------------+
| 23        | 58           |
| 25        | 89           |
| 26        | 58           |
| 28        | 98           |
+-----------+--------------+

StudentMarks = 58 যেই সারিগুলোতে আছে, সেগুলো বের করা

mysql> SELECT StudentMarks FROM DemoTable
    -> GROUP BY StudentMarks
    -> HAVING SUM(StudentId = 23) > 0
    -> AND SUM(StudentId = 26) > 0;

আউটপুট:

+--------------+
| StudentMarks |
+--------------+
| 58           |
+--------------+

ব্যাখ্যা: SUM(StudentId = 23) এক্সপ্রেশনটি বুলিয়ান কনটেক্সটে ১ বা ০ রিটার্ন করে। যদি উভয় আইডি একই StudentMarks গ্রুপে থাকে, তবে উভয় সাম হবে ১ এর বেশি, ফলে গ্রুপটি ফিল্টার হয়ে আসবে।

  1. MySQL-এ GROUP_CONCAT() ব্যবহার করে কলাম মানগুলো CSV ফরম্যাটে দেখানো

  2. MySQL-এ কলাম মান স্ট্রিং নাকি ডিজিট চেক করার পদ্ধতি

  3. MySQL-এ একই টেবিলে ভিন্ন ID-তে সাধারণ মান 가진 সারি বের করা

  4. MySQL-এ EXISTS সাবকোয়েরি ব্যবহার করে অন্য টেবিলের সাথে ম্যাচ করা রো সিলেক্ট করা