gpt4 book ai didi

sql - 如何在BigQuery中添加一列总行数

转载 作者:行者123 更新时间:2023-12-04 02:39:17 27 4
gpt4 key购买 nike

我在 BigQuery 中有一个表,我在其中保存了 DATESTAMP 和温度传感器值。
我通常按​​日期过滤查询。
我的目标是在这个查询中添加一列,它放置总行数。

例如,如果我运行此查询,则会得到以下结果:

SELECT DATESTAMP, Temperature
FROM
`my_project.my_folder.my_table`
WHERE
DATESTAMP BETWEEN TIMESTAMP("2020-02-05 00:00:00.000")
AND TIMESTAMP("2020-02-06 00:00:00.00")
ROW DATESTAMP             Temperature
1 2020-02-05 06:44:37 UTC 15.14
2 2020-02-05 09:41:11 UTC 18.25
3 2020-02-05 12:11:25 UTC 21.21
4 2020-02-05 22:15:37 UTC 14.65

当我运行这个查询时,我得到了这个结果:
SELECT count(*) AS num_total
FROM
`my_project.my_folder.my_table`
WHERE
DATESTAMP BETWEEN TIMESTAMP("2020-02-05 00:00:00.000")
AND TIMESTAMP("2020-02-06 00:00:00.00")
ROW num_total
1 4

我的目标是编写查询程序并接收此结果
ROW DATESTAMP             Temperature num_total
1 2020-02-05 06:44:37 UTC 15.14 4
2 2020-02-05 09:41:11 UTC 18.25 4
3 2020-02-05 12:11:25 UTC 21.21 4
4 2020-02-05 22:15:37 UTC 14.65 4

我能怎么做?

最佳答案

您可以进行窗口计数:

SELECT datestamp, Temperature, COUNT(*) OVER() num_total
FROM `my_project.my_folder.my_table`
WHERE
datestamp >= TIMESTAMP("2020-02-05 00:00:00.000")
AND datestamp < TIMESTAMP("2020-02-06 00:00:00.000")

请注意,我重写了您的日期过滤器以使用半开间隔而不是 between :很可能,您不希望日期范围内包含上限。

关于sql - 如何在BigQuery中添加一列总行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60112162/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com