zoukankan      html  css  js  c++  java
  • MySql 四大排名函数

    四大排名函数
    一、ROW_NUMBER()
    Row_number() 在排名是序号 连续 不重复,即使遇到表中的两个一样的数值亦是如此

    select *,row_number() OVER(order by number ) as row_num
    from num

    数据如下


    结果如图


    注意:在使用row_number() 实现分页时需要特别注意一点,over子句中的order by 要与SQL排序记录中的order by保持一致,否则得到的序号可能不是连续的
    select *,row_number() OVER(order by number ) as row_num
    from num
    ORDER BY id

    二、rank()
    Rank() 函数会把要求排序的值相同的归为一组且每组序号一样,排序不会连续执行

    select *,rank() OVER(order by number ) as row_num
    from num

    结果如下:


    三、dense_rank()
    Dense_rank() 排序是连续的,也会把相同的值分为一组且每组排序号一样

    select *,dense_rank() OVER(order by number ) as row_num
    from num

    结果如下:


    四、ntile()
    Ntile(group_num) 将所有记录分成group_num个组,每组序号一样

    select *,ntile(2) OVER(order by number ) as row_num
    from num

  • 相关阅读:
    indy tcpclient tcpServer
    Delphi生成即调用带窗体的Dll
    本地同步到网络时间
    tfield的字段名和显示名
    Delphi流的操作_文件合并
    Delphi7 流操作_压缩
    delphi内嵌汇编
    给rar文件加个自定义头
    fastreport小入门
    delphi 单例模式
  • 原文地址:https://www.cnblogs.com/uniquefrog/p/15720830.html
Copyright © 2011-2022 走看看