ايران ويج

نسخه‌ی کامل: استخراج تصادفی رکوردها در mysql = > شدنی هست یا نه ؟
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
فرض كنيد يه تيبل تو mysql داریم که مثلا 100 تا رکورد داره

با چه کدsql میتونیم 5 تا از اون 100 تا رکورد رو بصورت تصادفی استخراج کنیم . یعنی تو هر بار اجرا تعداد 5 تا رکورد بصورت رندوم استخراج بشه .

استخراج تصادفی رکوردها در mysql = > شدنی هست یا نه ؟
اره ميشه با دستور
کد:
rand(min, max)
كه توش min , max كمترين و بيشترين عدد هستن ميتوني يه عدد رندم بدست بياري و توي دستور اسكيوالت هم كافيه دست آخرش بنويسي
کد:
LIMIT randnum
كه توش randnum همون عدد رندوم هست كه بدست آوردي.
سلام
ممنونم
اينجوري فكر مي كنم يه عدد بين min و max بصورت اتفاقی انتخاب میشه .
randnum هم یه عدد رو بر میگردونه .
میخوام مثلا از n تا رکورد 5 تا بصورت اتفاقی استخراج بشه .

ممنونم
يه روشي علي آقا (ali110) تو فروم گفته بود روش خيلي جالبي بود فكر كنم تو ماي اسكيوال هم قابل اجرا باشه ولي يادم نيست بايد بگردم لينكش رو پيدا كنم.
ممنونم
فكرمي كنم كد بالا در هر بار اجرا يك ركورد رو استخراج ميكنه .

knowhow يكي از بروبچ پرشن تولز نوشته بود :
نقل قول: $query = mysql_query("SELECT * FROM `table` ORDER BY RAND(NOW()) LIMIT 5") ;

ولي miladmovie نوشت :
نقل قول: من نمی دونم چرا هیچ وقت نتوستن از این کد استفاده کنم و همیشه یک رکورد رو بر می گردونه !

اما به نظر ميرسه كد knowhow درست كار كنه
سلام
كد زير 5 تا ركورد رو به صورت تصادفي برميگردونه:
کد:
$Result = $db->sql_query("SELECT * FROM table  ORDER BY rand() LIMIT 5");