Google bigquery 如何选择重复项的顶部记录并创建新表?

Google bigquery 如何选择重复项的顶部记录并创建新表?,google-bigquery,Google Bigquery,我有以下表格: ===================== RecNum ID Date ===================== 12345 188832 2045-01-07 33445 188832 2035-10-01 66789 188849 2047-10-18 77889 340520 2047-04-28 99776 340520 2047-04-28 ===================== 我需要生成一个新表,其中只有一个ID对应于最新日期 如您所见,

我有以下表格:

=====================
RecNum ID     Date
=====================
12345  188832 2045-01-07
33445  188832 2035-10-01
66789  188849 2047-10-18
77889  340520 2047-04-28
99776  340520 2047-04-28
=====================
我需要生成一个新表,其中只有一个ID对应于最新日期

如您所见,ID 188832有两个日期:2045-01-07和2035-10-01。 我只需要最新的:2045-01-07

188849只有一个日期,应该保持原样。 340520有两条日期相同的记录-我只需要选择一条


RecNum是唯一的。

行号
应在此处工作:

SELECT RecNum, ID, Date
FROM
(
    SELECT t.*, ROW_NUMBER() OVER (PARTITION BY ID ORDER BY Date DESC) rn
    FROM yourTable t
) t
WHERE rn = 1;
注意,如果
ID=340520
,上述查询将任意选择两条记录中的一条。如果您有一些确定如何处理此类关系的逻辑,则可以修改查询