Google bigquery BigQuery,如果基于条件存在重复项,如何返回一个值

Google bigquery BigQuery,如果基于条件存在重复项,如何返回一个值,google-bigquery,Google Bigquery,我有这张桌子 REGIONID字符串 结算日期时间戳 干预字符串 RRP数字 大多数情况下,干预是0,但在相同的情况下,它有两个记录(0,1),那么RRP必须基于值1,在SQL中如何做到这一点? 以下可用于实现所需结果: SELECT *, EXCEPT(RN) FROM ( SELECT RRP, ROW_NUMBER() OVER(partition BY REGIONID, SETTLEMENTDATE ORDER BY INTERVENTION DESC) AS RN ) WHER

我有这张桌子

REGIONID字符串
结算日期时间戳
干预字符串
RRP数字

大多数情况下,干预是0,但在相同的情况下,它有两个记录(0,1),那么RRP必须基于值1,在SQL中如何做到这一点?

以下可用于实现所需结果:

SELECT *, EXCEPT(RN) FROM ( 
  SELECT RRP, ROW_NUMBER() OVER(partition BY REGIONID, SETTLEMENTDATE ORDER BY INTERVENTION DESC) AS RN
)
WHERE RN=1

以下可用于实现预期结果:

SELECT *, EXCEPT(RN) FROM ( 
  SELECT RRP, ROW_NUMBER() OVER(partition BY REGIONID, SETTLEMENTDATE ORDER BY INTERVENTION DESC) AS RN
)
WHERE RN=1

下面是BigQuery标准SQL

#standardSQL
SELECT REGIONID, SETTLEMENTDATE, 
  ARRAY_AGG(STRUCT(INTERVENTION, RRP) ORDER BY INTERVENTION DESC LIMIT 1)[OFFSET(0)].* 
FROM `project.dataset.table` t
GROUP BY REGIONID, SETTLEMENTDATE   

下面是BigQuery标准SQL

#standardSQL
SELECT REGIONID, SETTLEMENTDATE, 
  ARRAY_AGG(STRUCT(INTERVENTION, RRP) ORDER BY INTERVENTION DESC LIMIT 1)[OFFSET(0)].* 
FROM `project.dataset.table` t
GROUP BY REGIONID, SETTLEMENTDATE