MySQL-এ আলাদা DATE এবং TIME কলাম থাকলে ORDER BY dateCol, timeCol ব্যবহার করে ডেটা πρώতে তারপর টাইম অনুযায়ী সর্ট করা যায়।
টেবিল ও ডেটা
CREATE TABLE OrderByDateThenTimeDemo (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
ShippingDate DATE,
ShippingTime TIME
);
INSERT INTO OrderByDateThenTimeDemo (ShippingDate, ShippingTime) VALUES
('2018-01-24', '16:45:40'), ('2018-01-24', '15:30:35'),
('2018-04-25', '14:20:25'), ('2019-02-14', '18:07:55'),
('2019-01-31', '20:20:30');
কোয়েরি
SELECT * FROM OrderByDateThenTimeDemo ORDER BY ShippingDate, ShippingTime;
ফলাফল
+----+--------------+--------------+ | Id | ShippingDate | ShippingTime | +----+--------------+--------------+ | 2 | 2018-01-24 | 15:30:35 | | 1 | 2018-01-24 | 16:45:40 | | 3 | 2018-04-25 | 14:20:25 | | 5 | 2019-01-31 | 20:20:30 | | 4 | 2019-02-14 | 18:07:55 | +----+--------------+--------------+
ব্যাখ্যা
- প্রথমে
ShippingDateASC অনুযায়ী সর্ট - একই ডেটার জন্য
ShippingTimeASC অনুযায়ী সর্ট - 2018-01-24-এর দুটি রোতে টাইম ১৫:৩০:৩৫ এবং ১৬:৪৫:৪০-এ সর্ট হয়েছে
DATETIME কলাম থাকলে
ORDER BY ShippingDateTime ASC; -- একই কলামে ডেট+টাইম থাকলে শুধু একটা ORDER BY দরকার