MySQL查询获取具有日期第一个月字段的最后一天的那一行

时间:2016-05-26 07:27:39

标签: mysql

在我的数据库中,我有一个名为DateLastSaved的字段: 假设值为:

1. 2016-05-12 08:07:00,
2. 2016-05-22 09:06:00,
3. 2016-05-22 09:06:00,
4. 2016-06-13 09:00:00,
5. 2016-06-13 09:00:00

我想要这样的查询,它会返回DateLastSaved字段具有最小月份的行,在上面的情况下" 5"和该月的最大日期,即2,3,但我的查询应返回一个结果,即2或3。

我使用以下查询:

SELECT MIN(LAST_DAY(DateLastSaved))FirstMonth
FROM InitialLog 
WHERE FileName='Dr. Adam Kotowski Patient Names.doc' 

但它将第一个日期返回给我,即最小日期,而不是最大日期。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT *
FROM InitialLog
WHERE MONTH(DateLastSaved) = (SELECT MIN(MONTH(DateLastSaved)) FROM InitialLog)
ORDER BY DAY(DateLastSaved) DESC LIMIT 1

Demo here