PDA

View Full Version : مرتب سازی بر اساس دو فیلد (order by)



olampiad
دوشنبه 30 آذر 1394, 12:02 عصر
سلام و خسته نباشید به دوستان عزیز
یه سوالی داشتم در مورد مرتب سازی.
آیا میشه بر اساس دو تا فیلد مرتب سازی کرد.
من الآن میخوام محصولم رو بر اساس دو تا فیلد امتیاظ و بازدید مرتب کنم.
یعنی محصولاتی که هم بازدید زیادی دارن و هم امتیاز زیادی دارن اول نشون بدن و به ترتیب محصولاتی که امتیاز و بازدید کمی دارن تو آخر نشون بده.
من میخوام مرتب سازی بر اساس این دو تا فیلد انجام بشه.
bazdid
emtiaz
آیا این کار شدنی هستش.
آخه تو اکثر آموزش ها که دیدم بر اساس یه فیلد مرتب میکنه.
برای کار من راه حلی دارید؟
ممنون

Unique
دوشنبه 30 آذر 1394, 18:41 عصر
میشه چند تا فیلد توی order by گذاشت اما حرفتون غیر منطقیه ! مثلا وقتی فیلد بازدید را اول بدین و بعدش امتیاز را ، اول همه بر اساس بازدید مرتب میشن و بین اون هایی که بازدید یکسان دارن بر اساس امتیاز مرتب میشن‌:

select title from products order by p_visits desc,p_votes desc

اگه هر دو براتون اهمیت داره باید بیاین مفهوم مورد نظر را تبدیل کنید ،‌ مثلا بیاین بگین اگه امتیاز ۱ تا ۵ هست به ازاء هر ۱ امتیاز ارزش ۱۰ بازدید را در نظر بگیر و مرتب کن :

select title from products order by ((p_votes * 10) + p_visits) desc