情况是这样的:有表info表示用户添加的注册信息。字段:id,userName,addtime,例如:四个人,张三、李四、王二、麻子 注册了信息:张三注册时间为2014.7.27,李四注册时间为2014.7.26,王二注册时间为2014.7.25,麻子注册时间为2014.7.24 如果取出除了张三外,李四、王二、麻子这三个最近注册的信息?也就是说取出除了最新添加的一条信息外的最新三条数据。是不是需要额外添加一个字段,还是直接可以取出来,SQL语句怎么写?数据库是MSSQL2005的。
select *
from info
where addtime<'2014.7.24' 有人写出了这个方法,因为时间用户注册时间是在变化的,这方法应该不对。
------解决方案--------------------
select top 3 *
from info
where addtime<>(select max(addtime) from info)
------解决方案--------------------
select top(3) *
from info
where addTime <(Select MAX(addTime) from info)
order by addTime desc