【发布时间】:2021-08-19 06:43:43
【问题描述】:
我有一张桌子。
userId|date |hour|minute|five|four|three|two|one|
------+----------+----+------+----+----+-----+---+---+
dinesh|2021-05-28| 6| 5| 0| 1| 0| 0| 0|
jay |2021-05-29| 1| 20| 1| 0| 1| 0| 0|
如何过滤给定范围内的日期、小时和分钟。 假设我想要从 2021-05-28 05:00 到 2021-05-29 23:59 的所有条目
我将执行一些聚合查询,例如
select userId, date, sum(five) as five, sum(four) as four
from table where <2021-05-28 05:00 to 2021-05-29 23:59> group by userId, date
【问题讨论】:
-
如果您将日期和时间存储在
timestamp类型而不是三个单独的列中,这将变得更加容易。 -
这是一个按分钟聚合的表格。如果我按时间戳存储,那么它将是我们不想要的秒
-
date列的数据类型是什么?是日期还是字符串? -
现在是日期,我们也可以把它改成字符串。它是一个柱状数据库。
-
@DineshGowda 您可以将四舍五入的分钟存储为时间戳类型,无需几秒钟即可参与。
标签: sql postgresql datetime google-bigquery where-clause