Google bigquery 当前行和前一行之间的秒差,并在订单ID也使用google bigquery匹配时将值存储在单独的列中

Google bigquery 当前行和前一行之间的秒差,并在订单ID也使用google bigquery匹配时将值存储在单独的列中,google-bigquery,Google Bigquery,当订单ID也使用google bigquery匹配时,我想获取当前行和前一行之间的秒差,并将值存储在单独的列中。 备注:第4行根据第7行计算差异,因为这是下一个可用订单id (日期字段不是字符串,而是时间戳)在我的表test中:product.tab1 例如: 请在下面尝试 我建议你退房 我试图优化这样的查询选择日期,id,DATE-LEAD(DATE)OVER(按id划分按日期描述)作为diff-FROM(选择字符串(DATE)作为DATE,id-FROM[test:product.tab1]

当订单ID也使用google bigquery匹配时,我想获取当前行和前一行之间的秒差,并将值存储在单独的列中。 备注:第4行根据第7行计算差异,因为这是下一个可用订单id (日期字段不是字符串,而是时间戳)在我的表test中:product.tab1 例如:

请在下面尝试
我建议你退房


我试图优化这样的查询选择日期,id,DATE-LEAD(DATE)OVER(按id划分按日期描述)作为diff-FROM(选择字符串(DATE)作为DATE,id-FROM[test:product.tab1]按id-DATE描述排序),但我收到一个错误-解析表达式中缺少函数,你知道我为什么不能这样做吗?
Date                    Order  Difference In Seconds
2016-05-31 11:46:54 UTC 14567   11
2016-05-31 11:46:43 UTC 14567   19
2016-05-31 11:46:24 UTC 14567   20
2016-05-31 11:46:04 UTC 14567    4
2016-05-31 11:46:54 UTC 22455   11
2016-05-31 11:46:43 UTC 24567    0
2016-05-31 11:46:00 UTC 14567    0
SELECT
  DATE, id,
  IFNULL(TIMESTAMP_TO_SEC(TIMESTAMP(DATE)) -   
         TIMESTAMP_TO_SEC(TIMESTAMP(prev_date))
    , 0) AS Difference_In_Seconds
FROM (
  SELECT  
    DATE, id,
    LEAD(DATE) OVER(PARTITION BY id ORDER BY DATE DESC) AS prev_date
  FROM
    (SELECT STRING(DATE) AS DATE, id FROM [test:product.tab1] )
)
ORDER BY id, DATE DESC