![]() |
שאלה|בקשר לSQL, שיעשה SELECT באופן אקראי
שלום,
מוזר שאף פעם לא הגעתי למצב הזה, אבל איך אני יכול לעשות SELECT מתוך SQL שיוצג לי באופן אקראי? כלומר, נכון שיש DESC, ויש ASC שזה מסדר מהסוף להתחלה והשני הפוך...אבל איך אני עושה שפשוט יציג לי את הפלט של הSELECT באופן אקראי מתוך הטבלאה שאני מבקש? לילה טוב :) |
קרא על rand()
|
PHP קוד:
|
תודה רבה :)
|
מאוד מאוד לא מומלץ להשתמש ORDER BY RAND(), תקראו באינטרנט למה (google it)..
|
יש אלטרנטיבה..פונקציה שמישהו הכין.
http://www.greggdev.com/web/articles.php?id=6 זה במקרה אבל שיש לך עשרות אלפי רקורדים במסד. |
ציטוט:
אבל לא מצאתי פתרון, כל אתר מציע משהו אחר, ומאיפה לי לדעת מה יותר טוב לי? השאילתא שלי שולפת מידע מ-2 טבלאות, בעזרת UNION, שתי הטבלאות ביחד אמורות (בעתיד) להכיל בין 900 - 2500 ערכים. אם אני רוצה לשלוף 3 שורות באופן רנדומלי, בהנחה שיש לי המון קפיצות ב-Id (כי לפעמים אני מוחק ערכים) וכמה Id כפולים (כי אני שולף משתי טבלאות), מה הדבר הכי טוב לעשות? תודה. |
אני מניח שאין לך מאות אלפי שורות בשאילתה.. אז תשתמש בRAND
|
האממ, אם אתה צריך שורה אחת זה פתרון יפה יחסית: http://www.greggdev.com/web/articles.php?id=6
בגדול 3 שורות זה לא כזה נורא, אתה יכול להשתמש בrand. |
ציטוט:
PHP קוד:
לא הבנתי משהו , קראתי ברשת שאם אתה משתמש ב-by rand זה מוציא כמות מספרים רנדומלים ששווה למספר השורות. (עכשיו השאלה לאילו שורות? סך כל השורות עם הפוטנציאל להשלף? או רק את מספר השורות שבאמת נשלפות? (שlimit 1 מצמצם אותן לאחת בלבד)) תודה. |
כל הזמנים הם GMT +2. הזמן כעת הוא 21:12. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ