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 tattime 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条 就不一样!!!!!
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 tattime 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条 就不一样!!!!!
select
top 10
*
from table1 t
where
not exists(select 1 from table1 where [User_id]=t.[User_id] and stattime>t.stattime)
order by stattime desc
top 10
*
from
table1 t
where
stattime=(select max(stattime) from table1 where [User_id]=t.[User_id] )
top 10
*
from
table1 t
where
stattime=(select max(stattime) from table1 where [User_id]=t.[User_id] )
order by stattime desc
------select
top 10
[user_id]
from
table1 t
where
stattime=(select max(stattime) from table1 where [User_id]=t.[User_id] )
group by [user_id]
order by stattime desc
select *
from table1 t
where
not exists(select 1 from table1 where [User_id]=t.[User_id] and stattime>t.stattime)
order by stattime desc
limit 10