使用coalesce()避免嵌套聚合错误

mmvthczy  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(405)

我目前有一个使用coalesce的查询,它在sqlserver中工作,但是在amazonredshift中不工作。有什么方法可以更恰当地在红移中使用:

  1. coalesce(sum(Score)/nullif(sum(ScorePrem),0),0) as percent
kx7yvsdv

kx7yvsdv1#

考虑将聚合查询作为子查询或cte运行,然后在外部主查询中处理转换或辅助计算。

  1. WITH agg AS (
  2. SELECT calendar_month_id
  3. ,day_of_month
  4. ,month_name
  5. ,DaysRemaining
  6. ,RPTBRANCH
  7. ,0 AS TotalGrp
  8. ,SUM(Score) AS Score
  9. ,SUM(ScorePrem) AS ScorePrem
  10. FROM #temp_Score
  11. GROUP BY calendar_month_id
  12. , day_of_month
  13. , month_name
  14. , DaysRemaining
  15. , RPTBranch
  16. )
  17. SELECT calendar_month_id
  18. ,day_of_month
  19. ,month_name
  20. ,DaysRemaining
  21. ,RPTBRANCH
  22. ,TotalGrp
  23. ,Score
  24. ,ScorePrem
  25. ,COALESCE(Score/NULLIF(ScorePrem,0),0) AS percent
  26. FROM agg
展开查看全部

相关问题