Postgresql
如何在 postgreSQL 中根據小時數對時間戳進行分類
我正在嘗試使用到達列類別按小時對時間戳進行分類,例如
$$ ‘00.00 - 06.00’, ‘06.00 - 10.00’, ‘10.00 - 14.00’, ‘14.00 - 18.00’, ‘18.00 - 00.00’ $$)。我對這種善意的幫助很陌生。
該表包含從 00.00 到 23.00 的所有持續時間,此處僅顯示範例。
請幫我做類別並添加它們。
您可以建構開始/結束時間列表,並通過以下方式與組一起進行左連接:
類似的東西:
with times (begin_time, end_time) as ( values (time '00:00', time '06:00'), (time '06:00', time '10:00'), (time '10:00', time '14:00'), (time '14:00', time '18:00'), (time '18:00', time '24:00') ) select tm.begin_time, tm.end_time, count(*) from times tm left join the_table t on t.arrival::time >= tm.begin_time and t.arrival::time < tm.end_time group by tm.begin_time, tm.end_time order by 1,2;