我的表格中包含ctime
类型的列time without time zone
。
| cdate | ctime
+------------+----------
| 2016-12-24 | 12:02:17
| 2016-12-24 | 12:02:32
| 2016-12-24 | 12:03:00
| 2016-12-24 | 12:02:10
我希望cdate
和ctime
分组,但希望ctime
只计算几个小时。
答案 0 :(得分:36)
使用date_trunc
:
group by cdate, date_trunc('hour', ctime)
答案 1 :(得分:10)
如果您只想根据小时进行分组,我认为date_part('hour', ctime)
是更好的选择。
date_part('hour', timestamp '2001-02-16 20:38:40') ---> 20
date_trunc('hour', interval '2 days 3 hours 40 minutes') ---> 2 days 03:00:00