ورود

View Full Version : سوال: مرتب سازی بر اساس فیلد عددی



M.T.P
یک شنبه 18 مهر 1389, 14:28 عصر
با سلام و تقدیم احترام...
دوستان ارجمند یک جدول دارم که با دستور زیر باز و Sort میشه:


Select * From Users Order By Account
جدول رو بر اساس فیلد عددی Account باز و Sort میکنه اما مشکل با نحوه Sort شدن هست...
یعنی اینکه فیلد Account که فیلد عددی هست موقع Sort کردنش اگه سه اکانت داشته باشیم:
به عنوان مثال:
1
2
1000

اینطوری Sort میشه»
1
1000
2

یعنی 1000 رو مقدم بر 2 قرار میده... :ناراحت:

از چه Query استفاده کنیم که اعداد به ترتیب قرار بگیرند؟ :متفکر:

behrouzlo
یک شنبه 18 مهر 1389, 15:13 عصر
فکر کنم چون فیلد Account شما از نوع رشته ای است به این شکل نمایش می دهد که شکل صحیح آن نیز به این صورت است. یک روش برای شکل مورد نظر شما می تواند به شکل زیر باشد:


Select * From Users Order By Cast(Account As Numeric)

tooraj_azizi_1035
یک شنبه 18 مهر 1389, 15:17 عصر
سلام،
در صورتی که جدولت با جداول دیگه ای مرتبطه بگو در غیر این صورت بعد از Account کلمه کلیدی ASC بذار هر چند پیش فرض خود ASC هست. هیچ وقت به چنین موردی برخورد نکردم اما اگه با زهم چنین اتفاقی رخ داد سعی کن داده ها رو تغییر بدی اگه باز هم جواب نداد داده ها رو تو یه جدول جدید بریز دوباره تست کن.
منتظر جوابت هستم. :چشمک:

M.T.P
یک شنبه 18 مهر 1389, 17:52 عصر
ممنون از توجه تون...
بله ، مشکل از نوع فیلدم بود ، حواسم نبود رشته ایش کرده بودم. :خجالت:
عددیش کردم درست شد. :چشمک: