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

MySQL-এ নির্দিষ্ট তালিকা থেকে র‍্যান্ডম সংখ্যা বেছে নেওয়া

MySQL-এ একটি নির্দিষ্ট তালিকা থেকে র‍্যান্ডমভাবে একটি মান বেছে নেওয়ার জন্য ELT() এবং RAND() ফাংশন একসাথে ব্যবহার করা হয়।

সিনট্যাক্স এবং উদাহরণ

mysql> SELECT ELT(FLOOR(RAND() * 10) + 1, 
    ->     100, 200, 300, 400, 500, 600, 700, 800, 900, 1000) 
    -> AS random_value_from_listOfValues;

প্রথম রান (ফলাফল)

+--------------------------------+
| random_value_from_listOfValues |
+--------------------------------+
|                           1000 |
+--------------------------------+

দ্বিতীয় রান (ফলাফল - ভিন্ন হবে)

mysql> SELECT ELT(FLOOR(RAND() * 10) + 1, 
    ->     100, 200, 300, 400, 500, 600, 700, 800, 900, 1000) 
    -> AS random_value_from_listOfValues;
+--------------------------------+
| random_value_from_listOfValues |
+--------------------------------+
|                            400 |
+--------------------------------+

ব্যাখ্যা

  • RAND() - ০ থেকে ১ এর মধ্যে র‍্যান্ডম দশমিক সংখ্যা দেয়
  • RAND() * 10 - ০ থেকে ১০ এর মধ্যে র‍্যান্ডম সংখ্যা
  • FLOOR(...) - দশমিক বাদ দিয়ে পূর্ণসংখ্যা (০-৯)
  • + 1 - রেঞ্জ ১-১০ করল (ELT ১-ভিত্তিক)
  • ELT(n, val1, val2, ...) - n-তম আর্গুমেন্ট রিটার্ন করে

সাধারণীকৃত ফর্মুলা:

ELT(FLOOR(RAND() * N) + 1, val1, val2, ..., valN)

এখানে N = মোট ভ্যালুর সংখ্যা।

নোট: প্রতিবার রান করলে ভিন্ন ফলাফল আসবে কারণ RAND() প্রতিবার নতুন র‍্যান্ডম মান দেয়।

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

  2. MySQL-এ কমা-সেপারেটেড স্ট্রিংয়ে নির্দিষ্ট সংখ্যা খুঁজে রো সিলেক্ট করা

  3. MySQL-এ FIND_IN_SET ব্যবহার করে কমা-সেপারেটেড কলামে নির্দিষ্ট সংখ্যা খুঁজে রো সিলেক্ট করা

  4. C#-এ লিস্ট থেকে র‍্যান্ডম এলিমেন্ট নির্বাচন করা