zoukankan      html  css  js  c++  java
  • SQL Server 2012

    -- 开窗函数:在结果集的基础上进一步处理(聚合操作)
    
    -- Over函数,添加一个字段显示最大年龄
    SELECT  * ,
            MAX(StuAge) OVER ( ) MaxStuAge
    FROM    dbo.Student;
    
    -- Over函数,添加一个字段显示总人数
    SELECT  * ,
            COUNT(StuID) OVER ( ) StuCount
    FROM    dbo.Student;
    
    -- Partition By 分组统计数量
    -- 根据性别分组后,统计 
    SELECT  COUNT(*) OVER ( PARTITION   BY StuSex ) ,
            *
    FROM    dbo.Student; 
    
    -- 根据班级分组后,统计、排序 
    SELECT  COUNT(*) OVER ( PARTITION   BY Class ORDER BY Height) ,
            *
    FROM    dbo.Student; 
    
    -- Over函数,添加一个字段显示平均身高
    SELECT  * ,
            AVG(Height) OVER ( ) AgeHeight
    FROM    dbo.Student;
    
    --Row_Rumber()
    SELECT  ROW_NUMBER() OVER ( ORDER BY StuID DESC ) RowNumber ,
            *
    FROM    dbo.Student 
    
    --Row_Rumber() 实现分页效果
    ;
    WITH    T AS ( SELECT   ROW_NUMBER() OVER ( ORDER BY StuID DESC ) RowNumber ,
                            *
                   FROM     dbo.Student
                 )
        SELECT  *
        FROM    T
        WHERE   T.RowNumber BETWEEN 1 AND 3;
    
    --Rank() 排名函数,名次相同,跳过
    SELECT  RANK() OVER ( ORDER BY Height ) ,
            *
    FROM    dbo.Student;
    
    --DENSE_Rank() 排名函数,名次相同不跳过
    SELECT  DENSE_RANK() OVER ( ORDER BY Height ) ,
            *
    FROM    dbo.Student;
    
    -- NTILE()函数,参数:记录总数/划分区域 = 每个区域数组,把记录序号放进数组 (平均分组)
    SELECT  NTILE(3) OVER ( ORDER BY StuSex ) ,
            *
    FROM    dbo.Student;
     
    

      

  • 相关阅读:
    Python 操作Redis 转载篇
    Django运行SQL语句
    将博客搬至CSDN
    MySQL学习(三)函数
    MySQL学习(二)数据类型
    MySQL学习(一) 数据表基本操作
    Django聚合函数
    windows平台上编译mongdb-cxx-driver
    小程序登陆遇到 ERR_REQUEST_PARAM
    Opengrok服务器搭建step by step
  • 原文地址:https://www.cnblogs.com/i-shanghai/p/6351346.html
Copyright © 2011-2022 走看看