在Bigquery中选择最后两个可用表格(当您每天都没有数据时)

时间:2016-12-16 15:12:34

标签: sql google-bigquery

我试图获取最新的表格(两个或更多,取决于案例),但问题是我们不能每天获取数据,我知道我们可以使用日期范围功能。 我也尝试了这个:

SELECT *
FROM TABLE_QUERY(dataset,
     "table_id CONTAINS 'tableprefix' 
     AND table_id IN ( SELECT table_id FROM dataset.__TABLES__ 
                       WHERE table_id CONTAINS 'tableprefix'
                       ORDER BY creation_time DESC LIMIT 2)")

它正在使用LIMIT 1(在这种情况下,我们得到了最后一张可用的表),但它没有使用LIMIT 2

1 个答案:

答案 0 :(得分:1)

SELECT *
FROM TABLE_QUERY(dataset, "(
  SELECT CONCAT(',', GROUP_CONCAT(table_id), ',')
  FROM (
    SELECT table_id FROM dataset.__TABLES_SUMMARY__ 
    WHERE table_id LIKE 'tableprefix%'
    ORDER BY creation_time  DESC LIMIT 2 
  )) CONTAINS CONCAT(',', table_id, ',')
")