查询表中的最后以条记录,并不知道这个表共有多少数据,以及表结构

解决方案 »

  1.   

    感觉没有很简便的方法
    大部分表应该都可以,SQL2005+有效;WITH CTE AS(
        SELECT ROW_NUMBER()OVER(ORDER BY GETDATE())RN,* FROM 表名
    )SELECT TOP 1 * FROM CTE ORDER BY RN DESC
      

  2.   

    ;分号在SQL常用的,表示一个SQL语句的结尾。
    单个SQL语句的情况下一般使不使用无所谓,执行多条SQL语句的情况下就应该使用,这样可以告诉数据库引擎提交的是多条SQL语句,以免报错。
    WITH CTE AS用法是SQL2005以上才有的用法,这个用法WITH必须是语句的开头,所以加了个;,
    关于with as的用法,你可以参考一下
    http://wudataoge.blog.163.com/blog/static/80073886200961652022389/