繁体   English   中英

如何获取 mysql 中具有最大日期值的那些行的记录?

[英]How do I fetch the records of those rows which have the maximum date value in mysql?

我的 sql 查询:

SELECT * FROM `electric_transaction` 
WHERE `Current Date`=(SELECT MAX(STR_TO_DATE(`Current Date`, '%d/%m/%Y')) 
FROM `electric_transaction`)

当我执行上述查询时,我会得到一个警告列表,其中显示:

警告:#1292 截断不正确的日期时间值:'01/04/2021'

警告:#1292 截断不正确的日期时间值:'31/03/2021'...

我什至试过

 SELECT * FROM `electric_transaction` 
 WHERE `Current Date`=(SELECT MAX(`Current Date`) FROM 
 `electric_transaction`)

但是,它只显示所有甚至没有最大日期的记录。 如何仅获取具有最大日期的那些记录?

注意:我的Current Date列是VARCHAR类型,日期是d/m/Y格式

正如@Akina 所建议的,这个查询有效:

SELECT * FROM `electric_transaction` 
WHERE `Current Date`=
(SELECT DATE_FORMAT(MAX(STR_TO_DATE(`Current Date`, '%d/%m/%Y')),
 '%d/%m/%Y') FROM `electric_transaction`)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM