שלח תשובה

זירת השאלות

375
צפיות
5
תשובות

צריך עזרה בSORTING ב MYSQL

,‏ 28 ביוני, 2006

האלן
יש לי שאלה. אני בונה מן אתר היכרויות וכמו בכל אתר הכרויות המשתמש יכול לסדר את טבלת המנויים לפי מין,גיל,איזור מגורים וכו’..

איך אני עושה כזה sorting שלמשל את כל הכברים שמעל גיל 18 וגרים באזור הוא יציג במעלה הטבלה..? אני מכיר את הפקודות ALTER ו SORT BY אבל אני מסתבך איתם לצורך זה..

חוץ מזה צריך גם שלא יהיו התנגשויות עם גולשים אחרים שממיינים את הבטלה הנ"ל לפי פראמטרים אחרים..

בבקשה תעזרו לי ותנו כוון!

תודה מראש,
סשה.

תגיות:

5 תשובות

  1. בניה הגיב:

    [ללא נושא]
    ב"ה

    כשאתה שולף מידע אתה יכול להחליט לפי מה יסודרו השורות ששלפת.
    זה לא משפיע על הסדר שהנתונים שמורים כל שאילתא זה בפני עצמה.
    מסדרים את השורות עם הפקודה ORDER BY ואחריה רושמים את שם התא שזה יסודר לפיו-הברירת מחדל שזה מסדר ש1 יבוא ראשון 2 שני וכו’.

    הכוונה יסודר לפי תא זה לפי הערכים שבו.
    שאם בשורה אחת יש בו 1 ובשורה אחרת יש 2 אז השורה שיש בה 1 תבוא ראשונה.

    עכשיו, אם אתה רוצה שזה יהיה ההפך, ש 2 יבוא לפני 1 וכו תוסיף DESC אחרי שם התא שאתה רוצה לסדר לפיו.

    מקווה שהבנת.

  2. Bonny הגיב:

    זאת אני מבין אבל..
    אם אני רוצה שזה יסודר על-פי שני פרמטרים..
    כלומר שכל תאים אשר ערך הgender בו יהיה male ו גיל המשתמש יהיה קטן מ 20 יהיו למעלה..

    יכול לעשות משהו כזה:

    ALTER TABLE `dayfun` ORDER BY `Gnd` DESC AND ‘age’ < 20

    ?

    מה הדרך הכי אלגנטית לעשות סידור לפי כמה פרמטירים בבת אחת?

  3. זהר פלד הגיב:

    זה לא סידור, זה חיתוך.
    ובשביל זה משתמשים ב WHERE, ולא ב ORDER BY.
    למידע נוסף, כנס למדור ה SQL באתר.

  4. בניה הגיב:

    ALTER זה לא בשביל לסדר תוצאות
    ב"ה

    זה בשביל לשנות את הטבלה עצמה.
    זה לא משפיע על סדר קבלת הנתונים.

שלח תשובה

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!