توی MySQL امکانش هست که ORDER BY رو به صورت داینامیک بنویسیم؟
https://lamtakam.com/qanda/3687/توی-MySQL-امکانش-هست-که-ORDER-BY-رو-به-صورت-داینامیک-بنویسیم؟ 0ببینید من میخوام ترتیب سطرها رو مشروط بر مقداد یه فیلد دیگه ای از اون سطر تنظیم کنم. کوئری فعلی منو ببینید:
SELECT id, title, content, created_at
FROM POSTS
WHERE author_id = :author_id
ORDER BY id DESC
توی کوئری فعلی من، همه ی سطر ها رو به صورت برعکس داره سورت میکنه. یعنی پست های جدید همیشه میان اول. حالا میخوام بگم که پست هایی که توی روز 2021-02-05
بودن رو از ترتیب خارج کن و ببر بزار آخر لیست.
این کار رو با زبان PHP میتونم انجام بدم اگه دوباره روی نتیجه ی کوئری بالا لوپ بزنم و با گذاشتن یک if(){}
میتونم پست های اون تاریخ رو جدا کنم و نهایتا به انتهای آرایه بچسبونم. ولی میخوام ببینم آیا راهی هست که همین منطق و شرط رو بشه توی خود کوئری در بستر همون مای اسکیوال انجام داد؟ ممنون میشم اگر راهی بلدید به اشترام بگذارید.
1 | لطفا توی سوالتون اشاره کنید که مقادیر ستون created_at به چه صورت هست دقیقا؟ مثلا تایم استمپ هست؟ دیت هست یا دیت تایم؟ ــ سعید مرادی در 3 سال قبل |
||
@سعید.مرادی ببخشید فراموشم شد توی سوال ذکر کنم، نوع ستون created_at عنوانش timestamp هست و به عنوان مثال به این شکل: 2020-06-07 19:41:51 ــ ساناز رضایی در 3 سال قبل |