让我们考虑一下这样的表:
id name addr_line 1 addr_line_2 rec_ins_dt rec_updt_dt
我想按如下方式显示输出:
rec_ins_dt rec_ins_dt_count rec_updt_dt rec_updt_dt_count
如何使用单个查询实现此结果?我知道这可以通过创建临时表然后将两个临时表连接在一起来完成,但我想使用单个查询。 以下是执行此查询时的其他限制:
输入数据:10亿行 内存:4 GB
请将平台视为Oracle或Netezza。感谢您的投入。
答案 0 :(得分:1)
SELECT
rec_ins_dt , COUNT(*) OVER (PARTITION BY rec_ins_dt) AS rec_ins_dt_count,
rec_updt_dt , COUNT(*) OVER (PARTITION BY rec_updt_dt) AS rec_ins_dt_count
FROM <your-table>;
Oracle版本