日期:2014-05-16  浏览次数:20603 次

求一 SQL语句 在线等!!谢谢!!
table 
id user_id name stattime

向这个表里 插入 N 条记录。。。

user_id 可能重复。
stattime 为插入时间。。

现在需要取出 最新插入的 10条 记录,并且user_id 不能够重复,重复就取最新的一条。。。

select distinct user_id from table order by stattime desc limit 10
这样取出来的 结果是正确的。但只能够得到字段 user_id。我需要得到所有字段。

select * from table group by user_id order by stattime desc limit 10
这样得到的排列结果和上面的不一样。。。

请问这样怎么样写SQL语句。 才能够得到第一种排序的所有字段。。。


PS: 
select distinct user_id from table order by stattime desc
select * from table group by user_id order by tattime desc

如果取所有 两种方法的排序都是一样的 。但只取10条 就不一样!!!!!

------解决方案--------------------
SQL code

select * from table a where stattime = (select max(stattime) from table where user_id=a.user_id)

------解决方案--------------------
SQL code

select   distinct   user_id,table.*   from   table   order   by   stattime   desc   limit   10