开发者社区> 问答> 正文

greenplum 大量sum语句多个临时表关联,如何优化

如题:在 greenplum 大量sum语句多个临时表关联,如何优化。

sql 示例: SELECT tk.column1 AS column1, tk.column2 AS column2, tk.date_time AS date_time, unit.column3 AS column3, unit.column4 AS column4, dau.column5 AS column5, deu.column6 AS column6, retention.column7 AS column7, retention.column8 AS column8 FROM ( SELECT SUM ( column1 ) AS column1, SUM ( column2 ) AS column2, date_time AS date_time FROM report_tk WHERE date_time >= 20200406 AND date_time <= 20200416 AND publisher_id = 22 GROUP BY date_time ) AS tk, ( SELECT SUM ( column3 ) AS column3, SUM ( column4 ) AS column4, date_time AS date_time FROM report_unit_utce8 WHERE date_time >= 20200406 AND date_time <= 20200416 AND publisher_id = 22 GROUP BY date_time ) AS unit, ( SELECT SUM ( column5 ) AS column5, date_time AS date_time FROM report_dau_app WHERE date_time >= 20200406 AND date_time <= 20200416 AND publisher_id = 22 AND channel = '&&' GROUP BY date_time ) AS dau, ( SELECT SUM ( column6 ) AS column6, date_time AS date_time FROM report_deu_app WHERE date_time >= 20200406 AND date_time <= 20200416 AND publisher_id = 22 AND channel = '&&' GROUP BY date_time ) AS deu, ( SELECT SUM ( column7 ) AS column7, SUM ( column8 ) AS column8, date_time AS date_time FROM report_retention WHERE date_time >= 20200406 AND date_time <= 20200416 AND publisher_id = 22 AND channel = '&&' GROUP BY date_time ) AS retention WHERE tk.date_time = unit.date_time AND tk.date_time = dau.date_time AND tk.date_time = deu.date_time AND tk.date_time = retention.date_time ORDER BY date_time DESC LIMIT 15 OFFSET 0

展开
收起
亲亲橘子香 2020-05-09 18:46:48 955 0
1 条回答
写回答
取消 提交回答
  • 求大神出手指导一下

    2020-05-09 18:47:50
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PolarDB NL2SQL: 帮助您写出准确、优化的SQL 立即下载
Phoenix 全局索引原理与实践 立即下载
RowKey与索引设计:技巧与案例分析 立即下载