Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เรียงตามวันที่ &เวลาในลำดับจากมากไปน้อยใน MySQL?


ให้เราสร้างตารางเพื่อเรียงลำดับวันที่และเวลาจากน้อยไปมาก แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง SortByDateAndTime -> ( -> UserId int, -> UserName varchar(100), -> IssueDate date, -> IssueTime time -> );Query OK, 0 แถวได้รับผลกระทบ (0.60 วินาที)

แทรกระเบียนในตารางโดยใช้คำสั่ง insert แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า SortByDateAndTime (1,'John','2018-12-16','10:30');Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า SortByDateAndTime (2, 'Bob','2018-12-16','10:10');Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า SortByDateAndTime (3,'Carol','2018-12-16', '10:20');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที)mysql> แทรกลงในค่า SortByDateAndTime (4,'Sam','2018-12-16','10:00');แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.15 วินาที)

แบบสอบถามเพื่อแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select มีดังต่อไปนี้ -

mysql> เลือก *จาก SortByDateAndTime;

ผลลัพธ์

<ก่อนหน้า>+---------+----------+-----------+-----------+| รหัสผู้ใช้ | ชื่อผู้ใช้ | วันที่ออก | IssueTime |+-------+----------+-----------+-----------+| 1 | จอห์น | 2018-12-16 | 10:30:00 || 2 | บ๊อบ | 2018-12-16 | 10:10:00 || 3 | แครอล | 2018-12-16 | 10:20:00 || 4 | แซม | 2018-12-16 | 10:00:00 |+-------+----------+-----------+---------- -+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อเรียงลำดับวันที่และเวลาจากมากไปน้อย -

mysql> เลือก UserId,UserName,date(IssueDate) เป็น date1,IssueTime fromSortByDateAndTime -> order by date(IssueDate)desc,IssueTime desc;

ต่อไปนี้เป็นผลลัพธ์ที่แสดงในวันที่และเวลาที่เรียงลำดับ -

<ก่อนหน้า>+---------+----------+-----------+-----------+| รหัสผู้ใช้ | ชื่อผู้ใช้ | date1 | IssueTime |+-------+----------+-----------+-----------+| 1 | จอห์น | 2018-12-16 | 10:30:00 || 3 | แครอล | 2018-12-16 | 10:20:00 || 2 | บ๊อบ | 2018-12-16 | 10:10:00 || 4 | แซม | 2018-12-16 | 10:00:00 |+-------+----------+-----------+---------- -+4 แถวในชุด (0.00 วินาที)

หรือคุณสามารถใช้คิวรีอื่นเพื่อจัดเรียงวันที่และเวลา แบบสอบถามมีดังนี้ −

mysql> เลือก UserId,UserName,date(IssueDate) เป็น date1,IssueTime fromSortByDateAndTime -> order by date(IssueDate) desc,IssueTime asc;

ผลลัพธ์

<ก่อนหน้า>+---------+----------+-----------+-----------+| รหัสผู้ใช้ | ชื่อผู้ใช้ | date1 | IssueTime |+-------+----------+-----------+-----------+| 4 | แซม | 2018-12-16 | 10:00:00 || 2 | บ๊อบ | 2018-12-16 | 10:10:00 || 3 | แครอล | 2018-12-16 | 10:20:00 || 1 | จอห์น | 2018-12-16 | 10:30:00 |+-------+----------+-----------+---------- -+4 แถวในชุด (0.00 วินาที)