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

  • 相关阅读:
    c# 服务端
    c# 客户端
    PHP中cookie和Session
    c# socket
    js正则匹配html内容
    js获取url传递参数
    Blob API及问题记录
    js创建下载文件
    ie6下margin双倍距的问题
    使用RouteDebugger对MVC路由进行调试
  • 原文地址:https://www.cnblogs.com/uniquefrog/p/15720830.html
Copyright © 2011-2022 走看看