【发布时间】:2018-02-01 20:01:40
【问题描述】:
我正在尝试按 DESC 顺序对一些 MySQL 记录进行排序并获取添加的最后一条记录。
这些是我的记录,它们都存储为字符串:
1/2017
1/2018
2/2017
2/2018
3/2017
我想获得 1/2018 的值。记录以当年为准 最后添加的记录是 1/2018,下一个是 2/2018,依此类推。
这是我的查询:
SELECT NoControl FROM cita ORDER BY NoControl DESC LIMIT 1
但我得到的最后一条记录是 3/2017。
【问题讨论】:
-
那些是
datetime字段吗? -
不要将日期存储为字符串,使用本地数据库日期/时间类型。也就是说,如果您必须将日期存储为字符串,请使用“最重要的值优先”格式,例如 YYYY/MM/DD,然后它们自然会正确排序。
-
给你一点提示:在做任何事情之前先思考是值得的,而你在这里所做的并不是好的做法。存储日期而不是使用已经内置的 MySQL 日期(和时间)函数总是效果最好。如果您对此不太了解,那么重新设计数据库可能还为时不晚。
-
要是反过来就好了吧?
标签: php html mysql phpmyadmin