从一列中找出 15 分钟的时间间隔

时间:2021-07-15 17:49:16

标签: apache-spark apache-spark-sql

我正在尝试使用 sql 使用以下查询从列中设置 15 分钟的时间间隔:

Select from_unixtime(FLOOR(UNIX_TIMESTAMP(date_format(from_unixtime(unix_timestamp(InitiatedDateTimeGmt, 'MM/dd/yyyy hh:mm:ss a')),'yyyy-dd-MM HH:mm:ss'))/(15*60))*(15*60)) GroupTime,
COUNT(*) as Cnt
FROM Chat
GROUP BY GroupTime order by 1 

其中 InitiatedDateTimeGmt 是时间戳格式的列名,例如 2021-01-04 00:00:00。

但我得到许多值为空的值。

示例:

<头>
GroupTime Cnt
335783
2021-01-04 00:00:00 68
2021-01-04 00:15:00 81
2021-01-04 00:30:00 74
2021-01-04 00:45:00 81
2021-01-04 01:00:00 94
2021-01-04 01:15:00 98

我做错了什么吗?

1 个答案:

答案 0 :(得分:0)

通过使用以下查询解决:

    Select from_unixtime(FLOOR(UNIX_TIMESTAMP(date_format(from_unixtime(unix_timestamp(InitiatedDateTimeGmt, 'MM/dd/yyyy hh:mm:ss a')),'yyyy-MM-dd HH:mm:ss'))/(15*60))*(15*60)) GroupTime, COUNT(*) as Cnt FROM Chat GROUP BY GroupTime order by 1 
相关问题