使用SQL确保我有特定时间段内每天的数据

使用SQL确保我有特定时间段内每天的数据,sql,google-bigquery,Sql,Google Bigquery,我希望在报告中的每个日期只选择一个数据点。我想确保每天都有记录,并且至少有一行信息,因为我们必须做一些不同的事情来将一个大数据文件移动到我们的数据仓库中(导入一个大的Google工作表以获取一些数据,使用Python每天提取一些其他数据-希望确保没有遗漏任何日期),这些数据从现在一直持续到去年夏天。我可以使用COUNT DISTINCT子句来确保第一个数据点和昨天(最新的数据点)之间的天数,但我想验证是否考虑了每天。应该提到我在BigQuery。此外,创建的_at样式的示例为:2021-02-0

我希望在报告中的每个日期只选择一个数据点。我想确保每天都有记录,并且至少有一行信息,因为我们必须做一些不同的事情来将一个大数据文件移动到我们的数据仓库中(导入一个大的Google工作表以获取一些数据,使用Python每天提取一些其他数据-希望确保没有遗漏任何日期),这些数据从现在一直持续到去年夏天。我可以使用COUNT DISTINCT子句来确保第一个数据点和昨天(最新的数据点)之间的天数,但我想验证是否考虑了每天。应该提到我在BigQuery。此外,创建的_at样式的示例为:2021-02-09 17:05:44.583 UTC

这就是我到目前为止所做的:

SELECT FIRST(created_at)
FROM 'large_table'
ORDER BY created_at

**我知道FIRST可能不是本例的最佳条款,它目前的作用是获取created_at中的第一个数据点,但只是作为起点。

您可以使用聚合:

select any_value(lt).*
from large_table lt
group by created_at
order by min(created_at);
注意:这假设在创建的
是一个
日期
——或者每个日期至少只有一个值。您可能需要将其转换为日期:

select any_value(lt).*
from large_table lt
group by date(created_at)
order by min(created_at);

BigQuery相当于问题中的查询

SELECT created_at
FROM 'large_table'
ORDER BY created_at
LIMIT 1

转换为约会很好-第二次成功了。谢谢你的帮助!