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

MySQL টেবিলে নির্দিষ্ট মান তিন বা তার বেশি বার থাকা সারি গণনা করুন

প্রথমে একটি টেবিল তৈরি করা যাক:

mysql> create table DemoTable    -> (    -> UserId int    -> ); Query OK, 0 rows affected (0.48 sec)

কিছু রেকর্ড ইনসার্ট করা যাক:

mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values(20); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable values(30); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable values(20); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable values(30); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable values(20); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable values(20); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values(40); Query OK, 1 row affected (0.21 sec)

SELECT স্টেটমেন্ট দিয়ে সব রেকর্ড দেখানো যাক:

mysql> select *from DemoTable;

আউটপুট

+----------+ | UserId | +----------+ |      10 | |      20 | |      30 | |      10 | |      10 | |      20 | |      30 | |      10 | |      20 | |      20 | |      40 | +----------+ 11 rows in set (0.00 sec)

MySQL টেবিলে ৩ বা তার বেশি বার উপস্থিত মানগুলোর সারি গণনা করার কোয়েরি:

mysql> select count(*)    -> from (select UserId, count(*) as total    -> from DemoTable group by UserId    -> )tbl    -> where total >=3;

এটি নিচের আউটপুট দেবে (মানের ১০ এবং ২০ তিন বা তার বেশি বার উপস্থিত। তাই গণনা ২টি মানের জন্য):

আউটপুট

+----------+ | count(*) | +----------+ |        2 | +----------+ 1 row in set (0.01 sec)

ব্যাখ্যা: সাবকোয়েরি প্রথমে প্রতিটি UserId-এর ফ্রিকোয়েন্সি বের করে, তারপর বাহ্যিক কোয়েরি সেটি ফিল্টার করে যাদের ফ্রিকোয়েন্সি ≥ ৩।

  1. Java-এ JDBC ResultSetMetaData ব্যবহার করে MySQL টেবিলের কলাম সংখ্যা বের করা

  2. MySQL-এ ORDER BY ... LIMIT দিয়ে টপ ৩ হাইএস্ট স্কোর বের করা

  3. MySQL-এ নির্দিষ্ট সারি মাত্র ডিলিট করার পদ্ধতি (NOT IN ব্যবহার)

  4. MySQL-এ GROUP BY HAVING এবং সাবকুয়েরি ব্যবহার করে ডুপ্লিকেট রো বের করা