سلام. امروز با آموزش انتخاب رکوردهای تصادفی در mysql در خدمت شما هستیم.
گاهی اوقات در پروژه ها نیاز می شود که سوابق تصادفی یا رندوم را از یک جدول انتخاب کنید.
به عنوان مثال :
- انتخاب تصادفی و رندم پست ها برای نمایش در منوی کنار وبلاگ
- انتخاب یک بیت شعر ، یک حدیث یا یک نکته از دیتابیس و نمایش آن به عنوان شعر یا حدیث روز
- انتخاب تصادفی تصاویر برای نمایش در گالری
- و….
انتخاب رکوردهای تصادفی در mysql
برای انتخاب رندم سطرها از دیتابیس ، MySQL دارای دستوری است با عنوان ORDER BY RAND()
به دستور زیر که یک سطر تصادفی را از دیتابیس انتخاب می کند ، دقت کنید :
1 2 3 |
SELECT * FROM table_name ORDER BY RAND() LIMIT 1; |
کد بالا چگونه کار می کند؟
تابع RAND () برای هر سطر در جدول مقدار تصادفی ایجاد می کند.
دستور ORDER BY همه ردیف های جدول را با تعداد تصادفی تولید شده توسط عملکرد RAND () مرتب می کند.
و LIMIT اولین ردیف را در مجموعه ای که به طور تصادفی مرتب شده است را انتخاب می کند.
اگر می خواهید تعداد بیشتری سطر تصادفی را از جدول انتخاب کنید ، باید مقدار LIMIT را تغییر بدهید :
1 2 3 |
SELECT * FROM table_name ORDER BY RAND() LIMIT 10; |
کد بالا ، تعداد 10 رکورد یا 10 سطر تصادفی را از دیتابیس ، انتخاب می کند.
توجه کنید که به علت اینکه در هربار اجرای این دستور ، مقادیر به صورت رندم و تصادفی انتخاب می شوند ، در هربار اجرای این دستور ، نتیجه ای متفاوت از نتیجه ی قبلی به نمایش در خواهد آمد.
سرعت جستجو و اجرای این دستور به تعداد سطرها و رکوردهای موجود در جدول بستگی دارد.
این دستور برای جداول کوچک خیلی خوب کار می کند اما برای جدول بزرگ ، ممکن است کمی کُند باشد.
زیرا MySQL مجبور است کل جدول را برای انتخاب نمونه های تصادفی مرتب کند.
انتخاب سطرهای تصادفی از دیتابیس
امیدوارم این آموزش براتون مفید بوده باشه.
در صورتی که شما نیز روش بهتری برای این کار می دانید ، خوشحال میشیم که اون رو با ما به اشتراک بذارید.
و در آخر خوشحال میشیم که دیدگاه و نظرات تون رو درباره سایت و آموزش های سایت با ما در میان بذارید.
گروه برنامه نویسی دات وب
</پایان>