zoukankan      html  css  js  c++  java
  • SQL Server 排名函数实现

    在SQL Server 中有四大排名函数分别是:

    1、row_number()

    2、ntile()

    3、rank()

    4、dense_rank()

    -------------------------------------------------------------------------

    为了方便演示我们先建立相关的表

    create table t(ID int ,Name varchar(32));
    go

    insert into t(ID,Name) values(1,'A'),(2,'A'),(3,'B'),(4,'C'),(5,'C'),(6,'D');
    go

    1、

      row_number();

        select ID,Name,ROW_NUMBER() over(order by Name) as rowNumber

        from t;

        go

        

        select ID,Name,(select count(*) from t as b where b.ID<=a.ID) as rowNumber
        from t as a;
        go

        

    2、

      ntile()

        select ID,Name,ntile(3) over(order by ID) nitleNumber from t;

        go

        

        declare @count as int =6;

        declare @groupsize as int =3;
        declare @tilesize as int =@count/@groupsize;

        select ID,Name,((select count(*)+1 from t as b where a.ID>=b.ID)/@tilesize) ntileNumber
        from t as a;
        go

        

    3、

      rank()

        select ID,Name,rank() over(order by Name)
        from t;
        go

        

        select ID,Name,(select count(*)+1 from t as b where b.Name <a.Name)

        from t as a;

        go

        

        

  • 相关阅读:
    test deploy
    SpringBoot+Spring Session+Redis实现Session共享及踩坑记录
    登录接口取cookie
    pycharm设置自动调节字体大小
    ClickHouse高可用集群
    clickhouse 常用命令(三)
    clickHouse常用命令(一)
    ClickHouse表引擎
    clickhouse基本数据类型
    手写滚动条设计----直接粘贴
  • 原文地址:https://www.cnblogs.com/JiangLe/p/4403067.html
Copyright © 2011-2022 走看看