![]() |
סידור רשומות מהMYSQL
יש לי בסיס נתונים עם טבלה של משחקים,ולכל משחק יש עמודה לגודל שיש לה ערך כזה: XXXXX MB או XXXXXX GB
ואני רוצה למיין את הטבלה כך שקודם אני יראה את השורות עם גודל בMB ואז את הגודל בGB,ושזה יהיה ממויין במספר מהקטן לגדול. עכשיו הצלחתי לסדר את זה מהקטן לגדול,הבעיה היא שזה מציג קודם את הGB ואז את הMB,למישהו יש פיתרון? ד"א זה המשפט שאני משתמש בו כדי למיין : order by `size` ASC |
תחליף את ASC ב DESC
|
זה לא עוזר,זה פשוט מציג הפוך,אני רוצה שזה יציג קודם את השורות עם הMB ואז את הGB ושזה יהיה ממויין,אבל זה רק ממיין לי אבל קודם זה מציג את הGB ואז את הMB
|
זה בגלל שהמיון מתחיל מהמספרים עצמם ולא מהאותיות.
בעיקרון יהיה נכון לבצע שינוי של העמודות כך שהמספרים יישמרו ביחידות זהות. לדוגמא הגודל יהיה שמור בכל המקומות ב-MB ורק בהצגה תבצע חילו ב-1024 במידת ההצורך. בצורה כזאת תוכל לשלוף את כל הרשומות כמו שאתה צריך בקלות מה-DB ומבלי להעמיס אותו. כמו כן תוכל לבצע את השינוי הזה בקלות: פשוט תכתוב איזה סקריפט חד פעמי שירוץ על כל הרשומות ויעדכן את הגודל. כמו כן מאוד כדאי הגדיר את השדה בתור Integer או real, ולא בתור טקסט כמו שהוא כנראה עכשיו כי זה משפר ביצועים משמעותית (הרבה יותר קל לבצע מיון/חיפוש על מספר מאשר על טקסט). אם אתה מתעקש לשמור את המידע על ה-GB או MB, תוכל לשמור את זה בעמודה נוספף, ובעמודה הנוכחית לשמור את הגודל בלבד. כך שהמיון שלך יראה כך: OrderBy UnitName, SizeValue |
תשמור תערך ב BYTES ותן למערכת לפענח תמספר לMB\GB
|
כל הזמנים הם GMT +2. הזמן כעת הוא 02:12. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ