求一 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