程序里要实现的是,显示Table表最后十列的数据,表中有一列EventID,每次记录会自动加一,所以想法是用这句话实现:
select * from table where EventID >= (MAX(EventID)-10)
指令分析正确,但是不能成功执行,想知道这句SQL该怎么表述?可以在程序里面接受返回值:
select MAX(EventID)from table
再将该返回值@EventID输入进该语句
select * from table  where EventID >= (@EventID-10)
这样也可以实现该功能,但是会比较繁琐,想知道有没有简单的方法,在SQL中无需和程序交互就可实现,谢谢!

解决方案 »

  1.   


    select top 10 * from table order by EventID desc
      

  2.   


    select top 10 * from table order by EventID desc
      

  3.   

    Sorry  没看清楚  2L说的是对的!
      

  4.   

    想请问下,在sql中有没有将上一语句的返回值拿到下一语句中使用的办法,比如:
    DELACRE @EventID INT
    @EventID = select MAX(EventID)from table
    再将该返回值@EventID输入进该语句
    select * from table where EventID >= (@EventID-10)
    我试过这样执行不了!!!!