sql Server(其他DBMS将以相同或非常相似的方式工作):
SELECT
*
FROM
YourTable
WHERE
DateField IN (
SELECT MAX(DateField)
FROM YourTable
GROUP BY MONTH(DateField),YEAR(DateField)
)
DateField上的索引在这里很有用.
PS:如果您的DateField包含时间值,上面的内容将为您提供每月的最后一条记录,而不是最后一天的记录.在这种情况下,使用方法在进行比较之前将日期时间减少到其日期值,例如this one.