نمایش نتایج 1 تا 5 از 5

نام تاپیک: كوئري گرفتن با كمك order by

  1. #1

    كوئري گرفتن با كمك order by

    سلام
    من از جدولم كوئري ميگيرم به اين شكل

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

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

  2. #2
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: كوئري گرفتن با كمك order by

    AND نمیخواد :
    SELECT * FROM table1 where api = 1 ORDER BY prc ASC,date DESC


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

  3. #3

    نقل قول: كوئري گرفتن با كمك order by

    نقل قول نوشته شده توسط Unique مشاهده تاپیک
    AND نمیخواد :
    SELECT * FROM table1 where api = 1 ORDER BY prc ASC,date DESC


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

  4. #4

    نقل قول: كوئري گرفتن با كمك order by


  5. #5
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: كوئري گرفتن با كمك order by

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

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

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •