PDA

View Full Version : مرتب سازی برا اساس مقدار یک فیلد



$ M 3 H R D A D $
سه شنبه 23 آبان 1391, 23:58 عصر
سلام من یک جدول دارم که می خوام اطلاعاتش و مرتب سازی کنم
جدول مورد نظر فیلدی داره به نام courses_id
تو این فیلد مقدار 1 تا n یا به طور واضح تر آیدی کورس (دوره ) ها که کلید خارجی هست از جدول courses ثبت شده

مثلا تو جدول ما (score ) ثبته
data1,1
data,2
data3,1

اگه بگم :



ORDER BY score.courses_id DESC


میاد از جدید به قدیم شماره کورس و مرتب میکنه
منتها جدول کورس اینجوریه


id,name,sort_number


اون کورس ای اولویت بیشتر داره که سورت نامبر کمتری داشته باشه
یعنی مثلا اول 0و3و4و5و1

اول 0 اولویت داره و بعد 1 و بعد 3 و 4 و 5

چیکار کنم دوستان ؟

رضا قربانی
چهارشنبه 24 آبان 1391, 00:23 صبح
یادت باشه می تونی به دو روش هم چینش کنی مثلا :
ORDER BY courses_id DESC,id DESC

$ M 3 H R D A D $
چهارشنبه 24 آبان 1391, 00:29 صبح
نه دوست عزیز سوال منو متوجه نشده
می میخوام با اولویت یک فیلد که کلید خارجی از یک جدول دیگه هست جدول فعلی و مرتب کنم
اینی که شما نوشتید اول کورس آیدی ( خود کورس نه اولویتش تو جدول دیگه ) و سپس مرتب سازی بر اساس آیدی
اما من چیز دیگه میخوام

$ M 3 H R D A D $
چهارشنبه 24 آبان 1391, 00:30 صبح
روش زیاده :

order by id>12 desc,cources_id>2 asc

plague
چهارشنبه 24 آبان 1391, 09:14 صبح
بجای xyz عددی که مد نظرته برای سورد رو به ترتیب بزار و بجای id اون فیلدی که میخای براساسش سورت بشه
من درست متوجه نشدم فیلدت چیه فکر نمیکنم آیدی باشه !

order by case when id in (x,y,z) then 0 else 1 end , id

یا


ORDER BY FIELD(id ,x,y,z)

$ M 3 H R D A D $
جمعه 26 آبان 1391, 18:59 عصر
خیلی ممنون مشکلم با دومی حل شد