按日期降序排列

Order by Descending Date

这是 strange.I 需要一个日期列表,最近的日期是 top.Data 日期类型是 varchar。使用 DESC 排序似乎没有按照我想要的方式工作。

Select * from invoice
ORDER BY date DESC

它给了我按天排序的日期

30/11/2017
23/11/2017
21/06/2017
02/12/2017
01/12/2017

需要像:

02/12/2017
01/12/2017
30/11/2017
23/11/2017
21/06/2017

使用STR_TO_DATE:

SELECT *
FROM invoice
ORDER BY STR_TO_DATE(date, '%d/%m/%Y') DESC;

请注意,由于您已经看到的原因,通常不希望将日期存储为文本。这使得处理您的日期信息变得更加困难。

Demo