SQL:从DateTime中选择平均小时数

时间:2017-06-13 21:43:07

标签: sql postgresql amazon-redshift

我希望确定客户采取行动的平均时间。我有2列,customer_id和Action_timestamp。

示例数据:

customer_id  |  Action_timestamp
1            | 2016-11-21T21:56:49.0000000
1 | 2016-12-07T00:19:34.0000000
1 | 2016-11-21T21:43:19.0000000
2 | 2016-11-21T21:53:39.0000000
3 | 2016-11-21T21:57:33.0000000
3 | 2016-10-01T16:24:10.0000000

我想按customer_id进行分组,并从日期时间戳中查找平均时间。平均时间等于所有小时数的总和(可忽略分钟)除以每个客户ID出现的行数。

我想回来:

1 | 14
2 | 21
3 | 18

1 个答案:

答案 0 :(得分:1)

这应该有效:

select customer_id,avg(extract(hour from Action_timestamp)) from <table_name> group by customer_id;