每天计算行数

h9vpoimq  于 2021-05-27  发布在  Hadoop
关注(0)|答案(2)|浏览(404)

数据库配置单元
我试着在2020年11月1日之后的每一天,在8点到9点之间数一次表线。
我想要这样的数据:日期,计数
这是我尝试运行的查询,我每天只得到一行而不是一行。你能帮我解决我做错的事吗?

SELECT to_date(timestamp) as dates, count(*) as Records
from table
where to_date(timestamp) > '2020-11-01' and HOUR(timestamp) BETWEEN 8 and 9
GROUP BY to_date(timestamp)
yvgpqqbh

yvgpqqbh1#

想必,您并没有这段时间内所有日子的数据。如果确实有所有日期的数据,可以使用条件聚合调整查询:

SELECT to_date(timestamp) as dates,
       SUM(CASE WHEN HOUR(timestamp) BETWEEN 8 and 9 THEN 1 ELSE 0 END) as Records
FROM table
WHERE to_date(timestamp) > '2020-11-01' and 
GROUP BY to_date(timestamp);
6l7fqoea

6l7fqoea2#

如果我删除count()和group by-它就运行了,但这并不是我真正想要实现的。
我需要有一个计数(
)为每个日期之间的8日和9日上午,查询将自动运行,每天上午,并给出所有数据从01-11-2020年,直到它的运行日期。
当我仅使用小时(小时(时间戳)介于8和9之间)运行查询时,它会正确运行,但不会使用整个查询。
谢谢

相关问题