mysql服务器返回错误结果

问题描述:

这很奇怪,我查了很多,有人能确认它是mysql服务器的bug吗?mysql服务器返回错误结果

MySQL表中有ID和日期字段超过200条记录和日期各不相同,其中很少是今天的日期!

这个查询:

SELECT id, MAX(date_format('date', '%d-%m-%Y %H:%i')) AS mymaxdate 
from mytable1 

返回错误的日期!虽然使用的东西像10天回...

这样的:

SELECT id, max('date') AS mymaxdate from mytable1 

工程确定,但返回的日期YYYY-MM-DD G:我:一个

我需要的是简单,以dd-mm-yyyy选择mlatest“max”日期

有人遇到过这种情况吗?

因为您正在使用STRING的MAX()。既然你已经得到了你的一天价值第一:

'31-01-1900' > '01-01-2014' 

是真的,因为31>01

你可能想

SELECT id, DATE_FORMAT(MAX(date), '%....') 

代替。

您正在选择按天数排序的格式化日期的MAX(),然后是月份,然后是年份。在此排序会产生乱序结果。

你需要做的是将格式转换为PHP,而不是MySQL。您的数据库应主要关注数据。 PHP可以使用类似strftime()的东西来处理重写数据以满足您的演示需求。