因为是 MySQL
SELECT *
FROM table
WHERE id=1020
ORDER BY `date` desc
LIMIT 1
但我还有一个问题要问你,如果你有这样的记录怎么办?
1020 1/11/12
1020 1/12/12
1020 1/12/12
1020 1/13/12
它会返回什么?
在您的情况下,date
当前未格式化(我猜它已保存为VARCHAR
),这就是为什么您需要使用函数将其格式化回日期STR_TO_DATE
并使用所需格式从该显示中恢复。
SELECT DATE_FORMAT(STR_TO_DATE(`date`, '%m/%d/%y'), '%d-%m-%Y') lastDate
FROM table
WHERE id = 1020
ORDER BY `date` desc
LIMIT 1
更新 1
所以你需要具有相同日期的记录吗?试试这个编辑。为此,它创建了一个返回最新日期并具有相同日期的子查询。
SELECT *
FROM tablename
WHERE id = 1020 AND
`Date` = (
SELECT MAX(`date`) maxDate
FROM tableName
GROUP BY `date`
HAVING COUNT(`DATE`) > 1
)