获取SQL中每行的最新版本

问题描述 投票:0回答:1

我需要获取每一行的最新版本以获取重复数据。 “_sdc_sequence”是复制期间附加到记录的unix时期,并确定行的所有版本的顺序。我希望每天都能获得每个广告系列的费用和展示次数

我曾尝试使用INNER JOIN但我无法获取数据。当我尝试使用“account”和“clientname”作为属性(每一行都有相同的客户名和帐户)时,我得到了成本和展示次数的cero。也许属性是错误的

SELECT DISTINCT day, cost, impressions, campaign  
FROM `adxxxxx_xxxxxxxx` account 
INNER JOIN (
   SELECT
     MAX(_sdc_sequence) AS seq,
     campaignid
   FROM `adxxxxx_xxxxxxxx`
   GROUP BY campaignid) clientname 
ON account.campaignid = clientname.campaignid 
AND account._sdc_sequence = clientname.seq
ORDER by day 

还有另一种方法吗?或者我如何解决它?谢谢

sql google-bigquery inner-join
1个回答
0
投票
#standardSQL
SELECT row.* FROM (
  SELECT ARRAY_AGG(t ORDER BY _sdc_sequence DESC LIMIT 1)[OFFSET(0)] row 
  FROM `adxxxxx_xxxxxxxx` t
  GROUP BY campaignid
)
© www.soinside.com 2019 - 2024. All rights reserved.