PDA

View Full Version : چند عدد رندوم غیرتکراری از بین تعدادی عدد؟؟



Aftabgardan-cc
چهارشنبه 21 فروردین 1387, 13:14 عصر
سلام؛
ببینید، من قصد دارم از دیتابیس تعدادی id فراخوانی کنم که در شرط من می​گنجند...
فرض کنید آی.دی​های 5 و 8 و 10 و 20 و 25 این ویژگی (شرط) رو دارند.
حالا چطور می​شه سه عدد غیر تکراری از بین این پنج عدد خاص به صورت رندوم بیرون کشید؟:ناراحت:
توجه: این پنج تا عدد مثال هستند، شاید تعدادشون 100 تا بشه، پس راه حل اصولی می​خوام.

متشکرم.

oxygenws
چهارشنبه 21 فروردین 1387, 13:48 عصر
راحت‌تر اینه که از سمت پایگاه‌داده رندومشون کنی، با:


ORDER BY RAND()

بعد مثلا سه تای اول رو بخونی.

Aftabgardan-cc
چهارشنبه 21 فروردین 1387, 22:30 عصر
عالی بود، ممنون :تشویق:

Aftabgardan-cc
دوشنبه 26 فروردین 1387, 02:46 صبح
سلام؛
یه سؤالی در مورد ORDER برام پیش اومده که به شدت بهش نیاز دارم.
ما اوردری نداریم که سطرها رو بر اساس زمان ایجاد شدنشون بچینه؟
من یک تیبل دارم که اصلا id نداره چون جدول مربوط به یک رابطه چند به چنده. (و چه اشتباهی کردم که آی.دی براش تعریف نکردم!)
به هر حال، می​خوام سطرها بر اساس زمان اینسرت شدن در دیتابیس چیده بشن.

الان که خروجی می​گیرم، به نظر می​رسه خودش بر اساس زمان اینسرت شدن این کار رو انجام می​ده، اما برعکس اون چیزی که من می​خوام هست.
من می​خوام DESK باشه اما اوردرش رو نمی​تونم تنظیم کنم!

oxygenws
دوشنبه 26 فروردین 1387, 07:54 صبح
ما اوردری نداریم که سطرها رو بر اساس زمان ایجاد شدنشون بچینه؟
فکر کنم *تا حدودی* اگر اوردر نذاری، همینه :) (تاکید می‌کنم «تاحدودی» بعد از یه مدتی ممکنه به هم بریزه!)


من یک تیبل دارم که اصلا id نداره
اگه منظورت اینه که کلید اصلی نداره، خوب کار اشتباهی کردی! کلا جدولت مشکل داره!


من می​خوام DESK باشه اما اوردرش رو نمی​تونم تنظیم کنم!
در این مورد جوابتون رو نمی‌دونم. مورد عجیبی نیست، حتما راه حل داره. راهنمای mysql رو بخون. من فعلا وقت ندارم.

Aftabgardan-cc
دوشنبه 26 فروردین 1387, 14:36 عصر
oxygenws جان،
من شنیده بودم که جدول واسطه کلید اصلی نمی​خواد. یعنی جدولی که رابطه چند به چند رو تعریف می​کنه.
به هر حال، انگار باید تصحیحش کنم. اینطوری راحت​ترم.

در مورد مشکل خروجی بر اساس تاریخ، بله اگر اوردر نزنی، اینطوری خروجی می​گیره، اما من اگر DESKش رو بخوام چی؟

oxygenws
دوشنبه 26 فروردین 1387, 18:19 عصر
من شنیده بودم که جدول واسطه کلید اصلی نمی​خواد. یعنی جدولی که رابطه چند به چند رو تعریف می​کنه.
احتمالا شنیدی که فیلد id مجزا نمی‌خواد، اما به هر حال کلید اصلی (که حداقل از مجموع چند کلید باشه که می‌خواد!!)
ضمن اینکه من شخصا با گذاشتن یک id مجزا در *تقریبا* هر جدولی موافقم.