此处MAX(DATE_FORMAT(rental_date, '%d/%M/%Y')) & MAX(rental_date)
提供不同的输出(不是格式而是实际日期)
例如,一个给31/July/2005
而另一个给2005-08-22 20:03:46
所以这里一个是七月,另一个是八月。为什么会这样?查询有问题吗?
SELECT customer_id, MAX(DATE_FORMAT(rental_date, '%d/%M/%Y')) AS Last_rental, MIN(DATE_FORMAT(rental_date, '%d/%M/%Y'))
AS First_Rental, MAX(rental_date) AS last_R, MIN(rental_date) AS first_R FROM rental
GROUP BY customer_id
ORDER BY customer_id
答案 0 :(得分:2)
问题是date_format
的输出是一个字符串。如果您订购的字符串'31...'
是“大于”'22...'
,无论这些字符后面是什么。
您想要最新的日期,但需要以特定格式使用,先取最大值然后再进行格式化:
DATE_FORMAT(MAX(rental_date), '%d/%M/%Y')
(根据Sougata Bose的评论。)
答案 1 :(得分:0)
尝试使用:
发件人:强>
DATE_FORMAT(rental_date, '%d/%M/%Y')
以强>
DATE_FORMAT(Date(rental_date), '%d/%m/%Y')
或正常日期格式:
DATE_FORMAT(DATE(rental_date),'%Y-%m-%d')