每个用户每个月最后一次生成的记录

每个用户每个月最后一次生成的记录,sql如何实现
一个表有2008 2009 2010 3年的数据
a(id,userid, createdate)
createdate为时间跨越3年 。
每个用户userid基本在3年每个月每天都有很多的记录。(userdi共有10万个)
现在要用sql求  

要做一个表,这个表里面记录了每个用户每个月最后一次生成的记录。比如用户id为2的用户有3月4号,3月5号,3月19号和4月2号的记录,那么这个表只记录3月19号和4月2号这两条。

现在这个sql改如何写?

------解决方案--------------------
select userid,year(createdate)*100+month(createdate),max(createdate) from a group by userid,year(createdate)*100+month(createdate)

你可能感兴趣的:(数据库,sql)