我有一张有198Mil条记录的表。
我正在使用此查询来获取每个ID的最新记录:
with cte as (
select *, row_number() OVER (Partition by ATTOM_ID ORDER BY LastLoadDate DESC) rnum from `mother-216719.PROPERTY.ATTOM_DETAIL`
) Select * from cte where rnum = 1
值得注意的是,此表中有240列。
这已经运行了一个多小时,无济于事。 有没有办法使这项工作? 谢谢!
答案 0 :(得分:1)
尝试以下方法-通常会有所帮助
#standardSQL
SELECT AS VALUE ARRAY_AGG(t ORDER BY LastLoadDate DESC LIMIT 1)[OFFSET(0)]
FROM `mother-216719.PROPERTY.ATTOM_DETAIL` t
GROUP BY ATTOM_ID