获取SQL中每行的最新版本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取SQL中每行的最新版本相关的知识,希望对你有一定的参考价值。

我需要获取每一行的最新版本以获取重复数据。 “_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 

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

答案
#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
)

以上是关于获取SQL中每行的最新版本的主要内容,如果未能解决你的问题,请参考以下文章

如何使用支持库 25.0.0 及更高版本获取片段()

SQL 查询 - 获取每个文档的最新文档版本 URL

获取 backstack 中的最新片段

Microsoft OneScript 团队发布的最新一版在 SQL Server Management Studio 中运行的脚本,可以帮助我们获取更详细的版本信息。

MS Sync/SQL Server Compact 代码在最新版本 SQL Compact 3.5 中失败

如何获取最新版本的代码?