![](/img/trans.png)
[英]How do I use mySQL to select results which have a maximum value for one column, grouped by another column?
[英]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.