SQL中,OVER()是什么意思,怎么用呀,举个例子说明白些。谢谢!

解决方案 »

  1.   

    SQL 2005 ROW_NUMBER 用法/说明/教程/学习
    ROW_NUMBER ( )     OVER ( [ <partition_by_clause> ] <order_by_clause> )<partition_by_clause> 
    将 FROM 子句生成的结果集划入应用了 ROW_NUMBER 函数的分区。有关 PARTITION BY 的语法,请参阅 OVER 子句 (Transact-SQL)。 <order_by_clause> 
    确定将 ROW_NUMBER 值分配给分区中的行的顺序。有关详细信息,请参阅 ORDER BY 子句 (Transact-SQL)。当在排名函数中使用 <order_by_clause> 时,不能用整数表示列。Explame select ROW_NUMBER() over (order by article_id desc),* from Test05.dbo.Article_Sample Exp  id   type
    1    27    网站日志
    2    27    网站日志
    3    27    网站日志
    4    26    网站日志
    5    26    网站日志
    6    26    网站日志
    7    18    健康饮食
    8    18    健康饮食
    9    18    健康饮食
    10    17    健康饮食
    select ROW_NUMBER() over (order by article_id desc),article_id,typename from Test05.dbo.Article_Sample order by article_id asc    -- 当语句有order by 的时候,以外层的为准 exp id    type 7    18    健康饮食
    8    18    健康饮食
    9    18    健康饮食
    4    26    网站日志
    5    26    网站日志
    6    26    网站日志
    1    27    网站日志
    2    27    网站日志
    3    27    网站日志 
      

  2.   

    这里有个例子:http://ask.wangmeng.cn/question/73
      

  3.   

     http://blog.csdn.net/jinjazz/archive/2009/09/03/4516845.aspx
      

  4.   

    http://blog.163.com/alps1624/blog/static/269084012008113093545898/