想问下怎么查询指定条数的最近更新记录。。比如有个表a,里面有个字段b(日期+时间,比如:2009-7-13 15:39:58),
我想按这个b字段找出离现实时间最近的5条记录,要怎么写呢?
求救高手。最好还要有解释的。详细一点哦。拜托了哦。我是新手。。

解决方案 »

  1.   

    select top 5 from a 
    order by b
      

  2.   

    select top 5 * from tb order by abs(datediff(ss,getdate(),b))
      

  3.   

    SELECT TOP 5 * FROM TB ORDER BY DATEDIFF(SS,B,GETDATE())
      

  4.   

    select top 5 from a 
    order by b dese-- order by 是排序 联机丛书里面有详细介绍
      

  5.   

    select top 5 *
    from tb
    order by 字段b desc
      

  6.   

    --查询前5条按照最近时间精确到秒排序
    select top 5 * from tb order by abs(datediff(ss,getdate(),b))
      

  7.   

    select top 5 from a 
    order by b dese-- order by 是排序 联机丛书里面有详细介绍
      

  8.   

    要离现实时间最近的?应该是当前时间吧
    select top 5 * from tb order by abs(datediff(ss,getdate(),b))
      

  9.   

    select top 5 * from tb 
    order by --排序
    abs--ABS精确数字或近似数字数据类型类别(bit 数据类型除外)的表达式。
    (
    datediff--datepart 是指定所跨边界类型的 startdate 和 enddate 的一部分(ss,getdate(),b)
    )