zoukankan      html  css  js  c++  java
  • sql分组排序row_number() over()

    sql分组排序函数
    row_number() over(partition by 分组列 order by 排序列 desc)

    select tmp.pk_order
    from(select pk_order,
    row_number() over(partition by vbillcode order by nversion desc) as rn
    from po_order
    where dr = 0
    and vbillcode =' vbillcode') tmp
    where tmp.rn = 1

    按单据号分组,按版本号降序排列,新增做rn列,外套一层rn才可以放到where条件里面,
    相同单据号取版本号最大的对应的单据号行,再获取此行主键
    vbillcode 单据号 nversion 版本号 pk_主键

    在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、 order by 的执行。

    sql分组小计
    Oracle :按tmp.date合计
    group by rollup(tmp.date),tmp.em
    mysql: with rollup(tmp.date)

  • 相关阅读:
    C++赌博游戏
    数据挖掘--数据准备
    非线性维归约Isomap
    ClampedCubicSpline
    Romberg算法
    列表与数组
    HttpClient调用webApi时注意的小问题
    Week4
    Week3
    Week2
  • 原文地址:https://www.cnblogs.com/tenghao/p/14311816.html
Copyright © 2011-2022 走看看