PDA

View Full Version : سوال: كوئري گرفتن با كمك order by



numberone1
چهارشنبه 20 مهر 1390, 08:53 صبح
سلام
من از جدولم كوئري ميگيرم به اين شكل


SELECT * FROM `table1` where `api` = '1' ORDER BY `date` AND `prc` DESC

خروجي فقط بر حسب پارامتر دوم مرتب سازي ميكنه و برميگردونه.
نوع فيلد تاريخ هم از نوع int هست و مقاديرش هم به صورت 1313754016 هست
ميخوام جوابي كه بر ميگردونه اول فيلد prc رو به ترتيب از 1-9 مرتب كنه بعدش هر كدوم كه تاريخش جديد تره بياره بالاتر ولي نميشه

Unique
چهارشنبه 20 مهر 1390, 17:10 عصر
AND نمیخواد :

SELECT * FROM table1 where api = 1 ORDER BY prc ASC,date DESC

برای فیلد date هم یک اسم دیگه انتخاب کنید !

numberone1
چهارشنبه 20 مهر 1390, 21:05 عصر
AND نمیخواد :

SELECT * FROM table1 where api = 1 ORDER BY prc ASC,date DESC

برای فیلد date هم یک اسم دیگه انتخاب کنید !
عمل نميكنه
فقط مرتب سازي رو بر اساس فيلد اول نشون ميده !!!:ناراحت:

blackmak
چهارشنبه 20 مهر 1390, 22:24 عصر
PHP MySQL Order By Keyword (http://www.w3schools.com/php/php_mysql_order_by.asp)

Unique
پنج شنبه 21 مهر 1390, 10:55 صبح
فقط مرتب سازي رو بر اساس فيلد اول نشون ميده

اگه اسم فیلد شما توی پایگاه واقعا date هستش ! مشکل باید از همین باشه لطفا از اسامی با معنا برای mysql استفاده نکنید ! اسمش را بگذار t_date یا myDate یا هرچی که برای mysql بی معنا باشه ! کد بالا باید ابتدا رکورد ها را از شماره 1 تا 9 (به قول شما) به صورتی صعودی مرتب و سپس بر اساس فیلد date (که به قول شما Int هم هست) را به صورت نزولی مرتب کنه !

حالا اگه شما با تغییر اسم فیلد به یک اسم مناسب باز هم جواب نمیگیرید نیاز هست قسمتی از جدول mysql و کدتون را بگذارید ! تا بتونم بگم مشکل از چیه !