我在尝试重复删除包含大量数据的表时遇到内存不足的问题。
场景:
Column A | Column B ( Date )
Value1 Date1
Value1 Date2
Value2 Date3
Value2 Date4
我需要对这两列进行重复数据删除,我需要使用b列选择最新记录。
让我们说date2和date4是最新的日期。我的输出应该是:
Column A | Column B ( Date )
Value1 Date2
Value2 Date4
目前我正在使用以下查询。使用更少的内存是否有更好的方法。
CREATE TABLE UNIQUE_TABLENAME AS (
SELECT a.column a, a.column b, a.column c, a.column d
from tablename a,
(select column a,max(column b) from tablename group by column a)b
where a.column a = b.column a
and a.column b= b.column b)
提前致谢!
答案 0 :(得分:0)
select distinct on (col_a)
col_a as value, col_b as "date"
from t
order by col_a, col_b desc