如何在MySQL中按日期顺序显示最近添加的数据?

时间:2019-04-10 08:28:34

标签: mysql sql date sql-order-by

我希望按日期顺序对表格进行排序,以便最近添加的数据位于表格的顶部。

我已使用查询进行排序:

twiMLParams.put("to", callerId + "," + number);

当前表格显示数据为:

select date from register_table order by date desc.

我希望我的表格显示为:

date

02.04.2019
05.04.2019
09.04.2019
10.04.2019
06.02.2019
23.01.2019
11.01.2019

如何按日期顺序显示数据?

2 个答案:

答案 0 :(得分:1)

您的基本问题不是将日期存储为date。你应该解决这个问题。

要使用该查询,请使用:

order by str_to_date(date, '%m.%d.%Y')

要修复数据,您可以执行以下操作:

update register_table
    set date = str_to_date(date, '%m.%d.%Y');

alter table register_table
    modify date date;

您可以https://typelevel.org/blog/2014/01/18/implicitly_existential.html看到它的工作原理。

答案 1 :(得分:0)

我不知道为什么会这样存储您的日期,但是在这里尝试一下:

SELECT date FROM date ORDER BY STR_TO_DATE(REPLACE(date,'.','-'),'%d-%m-%Y') DESC;

如果要查看实际发生的情况,请运行以下查询:

SELECT date,STR_TO_DATE(REPLACE(date,'.','-'),'%d-%m-%Y') FROM date;

如果您仍然不太了解,请参阅MySQL STR_TO_DATE functionMySQL REPLACE function