您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

甲骨文-SELECT DENSE_RANK OVER(ORDER BY,SUM,OVER和PARTITION BY)

甲骨文-SELECT DENSE_RANK OVER(ORDER BY,SUM,OVER和PARTITION BY)

经过大量的努力我还没有弄清楚是否有可能解决内部的顺序DENSE_RANK()OVER,但我却发现了一个解决方案在两者之间。

SELECT lot, def, qtd
FROM (
  SELECT DENSE_RANK() OVER (ORDER BY qtd_lot DESC) rnk, lot, def, qtd
  FROM (
    SELECT tbl2.lot lot, tbl1.def def, Sum(tbl1.qtd) qtd, Sum(Sum(tbl1.qtd)) OVER (PARTITION BY tbl2.lot) qtd_lot
    FROM db.tbl1 tbl1, db.tbl2 tbl2
    WHERE tbl2.key = tbl1.key
    GROUP BY tbl2.lot, tbl1.def
  )
)
WHERE rnk <= 10
ORDER BY rnk, qtd DESC, lot, def

它不像我尝试的解决方案那样好,但是比我以前的工作代码要好。我所做的是将Sum(Sum(tbl1.qtd)) OVER (PARTITION BY tbl2.lot)移出,DENSE_RANK()然后添加名称qtd_lot

其他 2022/1/1 18:28:10 有514人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶