ইতিমধ্যে যা বলা হয়েছিল সে সম্পর্কে ভিজ্যুয়াল ছাপ পেতে দিন get উদাহরণস্বরূপ আপনার কয়েকটি টাস্ক সহ একটি টেবিল রয়েছে:
SELECT a.id,a.status,a.description FROM minicloud_tasks as a ORDER BY random();
id | status | description
----+------------+------------------
4 | processing | work on postgres
6 | deleted | need some rest
3 | pending | garden party
5 | completed | work on html
এবং আপনি কার্যগুলির তালিকাকে তার স্থিতি অনুসারে অর্ডার করতে চান। স্ট্যাটাসটি স্ট্রিং মানগুলির একটি তালিকা:
(processing, pending, completed, deleted)
কৌশলটি হ'ল প্রতিটি স্থিতির মানকে একটি পূর্ণসংখ্যা প্রদান করে এবং তালিকাটিকে সংখ্যাগতভাবে অর্ডার করুন:
SELECT a.id,a.status,a.description FROM minicloud_tasks AS a
JOIN (
VALUES ('processing', 1), ('pending', 2), ('completed', 3), ('deleted', 4)
) AS b (status, id) ON (a.status = b.status)
ORDER BY b.id ASC;
যা বাড়ে:
id | status | description
----+------------+------------------
4 | processing | work on postgres
3 | pending | garden party
5 | completed | work on html
6 | deleted | need some rest
ক্রেডিট @ ব্যবহারকারী 80168