21-03-10, 00:02 | # 1 |
עסק רשום [?]
|
סידור רשומות מהMYSQL
יש לי בסיס נתונים עם טבלה של משחקים,ולכל משחק יש עמודה לגודל שיש לה ערך כזה: XXXXX MB או XXXXXX GB
ואני רוצה למיין את הטבלה כך שקודם אני יראה את השורות עם גודל בMB ואז את הגודל בGB,ושזה יהיה ממויין במספר מהקטן לגדול. עכשיו הצלחתי לסדר את זה מהקטן לגדול,הבעיה היא שזה מציג קודם את הGB ואז את הMB,למישהו יש פיתרון? ד"א זה המשפט שאני משתמש בו כדי למיין : order by `size` ASC |
21-03-10, 08:48 | # 2 |
חבר מתקדם
|
תחליף את ASC ב DESC
|
21-03-10, 11:30 | # 4 |
מנהל פורום, עסק רשום
|
זה בגלל שהמיון מתחיל מהמספרים עצמם ולא מהאותיות.
בעיקרון יהיה נכון לבצע שינוי של העמודות כך שהמספרים יישמרו ביחידות זהות. לדוגמא הגודל יהיה שמור בכל המקומות ב-MB ורק בהצגה תבצע חילו ב-1024 במידת ההצורך. בצורה כזאת תוכל לשלוף את כל הרשומות כמו שאתה צריך בקלות מה-DB ומבלי להעמיס אותו. כמו כן תוכל לבצע את השינוי הזה בקלות: פשוט תכתוב איזה סקריפט חד פעמי שירוץ על כל הרשומות ויעדכן את הגודל. כמו כן מאוד כדאי הגדיר את השדה בתור Integer או real, ולא בתור טקסט כמו שהוא כנראה עכשיו כי זה משפר ביצועים משמעותית (הרבה יותר קל לבצע מיון/חיפוש על מספר מאשר על טקסט). אם אתה מתעקש לשמור את המידע על ה-GB או MB, תוכל לשמור את זה בעמודה נוספף, ובעמודה הנוכחית לשמור את הגודל בלבד. כך שהמיון שלך יראה כך: OrderBy UnitName, SizeValue |
25-03-10, 12:32 | # 5 |
חבר חדש
|
תשמור תערך ב BYTES ותן למערכת לפענח תמספר לMB\GB
|
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|