আমি বুঝতে পারি কীভাবে ORDER BY
ক্লজ কাজ করে এবং কীভাবে FIELD()
ফাংশনটি কাজ করে। আমি যেটি বুঝতে চাই তা হল দুজনেই কীভাবে এক সাথে কাজ করে বাছাই করার জন্য। সারিগুলি কীভাবে পুনরুদ্ধার করা হয় এবং কীভাবে সাজানো ক্রম অর্ডার হয়
+----+---------+
| id | name |
+----+---------+
| 1 | stan |
| 2 | kyle |
| 3 | kenny |
| 4 | cartman |
+----+---------+
SELECT * FROM mytable WHERE id IN (3,2,1,4) ORDER BY FIELD(id,3,2,1,4)
উপরের ক্যোয়ারীর ফলাফল হবে
+----+---------+
| id | name |
+----+---------+
| 3 | kenny |
| 2 | kyle |
| 1 | stan |
| 4 | cartman |
+----+---------+
অর্ডার 3, 2, 1, 4 দ্বারা বলার অনুরূপ
প্রশ্ন
- এটি অভ্যন্তরীণভাবে কীভাবে কাজ করে?
- মাইএসকিউএল কীভাবে সারিগুলি পেয়ে যায় এবং সাজানোর ক্রম গণনা করে?
- মাইএসকিউএল কীভাবে জানতে পারে যে এটির আইডি কলাম অনুসারে বাছাই করতে হবে?
SELECT *, FIELD(id,3,2,1,4) AS f FROM mytable WHERE id IN (3,2,1,4);
তারপরে যুক্ত করুনORDER BY f
বাORDER BY FIELD(id,3,2,1,4)
আবার চেষ্টা করুন।