PDA

View Full Version : سوال: مرتب كردن اطلاعات



maroosi
شنبه 29 آبان 1389, 13:06 عصر
برنامه اي نوشتم كه مي خواهم بر اساس شماره اموال كه text است مرتب شود و نمي تواند number تعريف شود چون بايد 2.2و2.20 و2 هم ذخيره شود وقتي Order by shomareمي زنم 1و100و.. ميايد و بعد 2و21و22و.. مي آيد اگر راهنمايي كنيد كه براي مرتب كردن به صورت صعودي اين شماره چه كدي بنويسم ممنون مي شوم

AliReza Vafakhah
شنبه 29 آبان 1389, 13:34 عصر
دوست عزیز باید از الگوریتم مرتب سازی حبابی (http://fa.wikipedia.org/wiki/مرتب_سازی_حبابی) استفاده کنید و صرف قرار دادن کدش برای شما فقط Copy/Paste هست پس بروید دنبال الگوریتم تحقیق کنید.

mbshareat
یک شنبه 30 آبان 1389, 11:27 صبح
با سلام
با توجه به کد می شه فهمید که کد برای Delphi نیست و فکر کنم برای fox باشه.
معادل Swap تو دلفی چیه؟
در ضمن تا اونجا که می دونم مرتب سازی حبابی کندترین روشه و روش انتخابی و quickSort هم داریم که فهمیدن الگوریتم اونها کمی سخته. اگه کد این دو الگوریتم رو هم دارین ممنون می شم تاع مرتب کردن ارایه رشتهای به این روش رو بذارین (به نظرم دوستمون باید عدد رو مقایسه کنن نه رشته رو)

Felony
یک شنبه 30 آبان 1389, 13:17 عصر
برنامه اي نوشتم كه مي خواهم بر اساس شماره اموال كه text است مرتب شود و نمي تواند number تعريف شود چون بايد 2.2و2.20 و2 هم ذخيره شود وقتي Order by shomareمي زنم 1و100و.. ميايد و بعد 2و21و22و.. مي آيد اگر راهنمايي كنيد كه براي مرتب كردن به صورت صعودي اين شماره چه كدي بنويسم ممنون مي شوم

این اطلاعات تو بانک هستن ؟
اگر داخل بانک هستن که خود بانک امکان مرتب سازی رو به بهترین شکل در اختیارتون میزاره ( در انجمن پایگاه داده دنبالش بگردید ) ، اگر هم داخل بانک نیست با توجه به اینکه کار فقط با اعداد صورت میگیره میتونید اعداد از رشته عددی به عدد تبدیل کنید و بعد به وسیله یکی از الگوریتم های مترب سازی مرتبشون کنید .


در ضمن تا اونجا که می دونم مرتب سازی حبابی کندترین روشه و روش انتخابی و quickSort هم داریم که فهمیدن الگوریتم اونها کمی سخته.
کجای فهمیدن اگوریتم Quick Sort یا Selection Sort سخته ؟!

devil00x
دوشنبه 01 آذر 1389, 10:37 صبح
دوست عزیز یک cast موقع order بزنی مشکلت حل میشه چون در حالت عادی اونا رو کارکتر به کاراکتر سورت میکنه و خوب 1و 10 و 100 پشت سر هم هستن.

maroosi
سه شنبه 16 آذر 1389, 09:30 صبح
ممنون ا ز پاسخ شما

maroosi
سه شنبه 16 آذر 1389, 09:42 صبح
این اطلاعات تو بانک هستن ؟
اگر داخل بانک هستن که خود بانک امکان مرتب سازی رو به بهترین شکل در اختیارتون میزاره ( در انجمن پایگاه داده دنبالش بگردید ) ، اگر هم داخل بانک نیست با توجه به اینکه کار فقط با اعداد صورت میگیره میتونید اعداد از رشته عددی به عدد تبدیل کنید و بعد به وسیله یکی از الگوریتم های مترب سازی مرتبشون کنید .


کجای فهمیدن اگوریتم Quick Sort یا Selection Sort سخته ؟!

ممنون ولی داخل بانک به صورت 1و100و2و21و3 مرتب میکند ومن می خوام بصورت مرتب در دیبیگراید نمایش دهد و اگر به عدد تبدیل کنم ممیز حذف می شود و 2.20و2.200 را هم فرق بین شان باشد و به یک عدد تبدیل نکند و نوع فیلد را رشته ای تعریف کردم و بانک اکسس

maroosi
سه شنبه 16 آذر 1389, 09:44 صبح
[دوست عزیز یک cast موقع order بزنی مشکلت حل میشه چون در حالت عادی اونا رو کارکتر به کاراکتر سورت میکنه و خوب 1و 10 و 100 پشت سر هم هستن.

لطف می کنید توضیح بیشتر بدهید یعنی چگونه با case کار کنم

pezhvakco
سه شنبه 16 آذر 1389, 10:55 صبح
روش کار یا Cast :

ORDER BY CAST(column_name AS INT)

البته این پرسش و کد دستور به این بخش مربوط نمیشه .
در بخش پایگاه داده جستجو کن .