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

MySQL-এ ORDER BY RAND() ব্যবহার করে র‍্যান্ডম টেবিল নির্বাচন করা


INFORMATION_SCHEMA থেকে র‍্যান্ডম টেবিল নাম বের করা

MySQL-এ INFORMATION_SCHEMA.TABLES টেবিল থেকে র‍্যান্ডমভাবে টেবিল নাম নির্বাচন করতে ORDER BY RAND() এবং LIMIT ব্যবহার করা হয়।

সিনট্যাক্স

SELECT TABLE_NAME AS alias_name 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'your_database_name' 
ORDER BY RAND() 
LIMIT your_limit_number;

উদাহরণ: ৪টি র‍্যান্ডম টেবিল বের করা

SELECT TABLE_NAME AS Random4TableName 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'web' 
ORDER BY RAND() 
LIMIT 4;

আউটপুট (নমুনা):

+------------------+
| Random4TableName |
+------------------+
| demotable474     |
| demotable313     |
| demotable452     |
| demotable382     |
+------------------+

পারফরম্যান্স সতর্কতা

  • ORDER BY RAND() বড় ডাটাসেটে ধীর হয় কারণ এটি সব রোয়ের জন্য র‍্যান্ডম মান জেনারেট করে এবং সর্ট করে।
  • হাজার হাজার টেবিল থাকলে এটি chấpচাপ্য হতে পারে।
  • বিকল্প: অ্যাপ্লিকেশন লেভেলে র‍্যান্ডম আইডি জেনারেট করে WHERE TABLE_NAME IN (...) ব্যবহার করা দ্রুত।

নোট: TABLE_SCHEMA ফিল্টার অবশ্যই দিন, অন্যথায় সিস্টেম ডাটাবেসও ফলাফলে আসবে।

  1. MySQL-এ শেষ ১০টি সারি কীভাবে বের করবেন?

  2. MySQL-এ SHOW TABLES ব্যবহার করে ডাটাবেসের সব টেবিল নাম দেখুন

  3. MySQL-এ ORDER BY RAND() LIMIT 1 ব্যবহার করে র‍্যান্ডম রেকর্ড নির্বাচন করুন

  4. MySQL-এ JOIN ব্যবহার করে দুই টেবিল থেকে ডেটা ফেচ করা