שלח תשובה

זירת השאלות

457
צפיות
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 זה לא בשביל לסדר תוצאות
    ב"ה

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

שלח תשובה