13
我有一張表,用於存儲我運行的web服務的用戶訪問/查看日誌。它追蹤時間作爲一個時間戳,雖然我發現當我做彙總報告時,我只關心一天,而不是時間。按時間分組時間戳,而不是按時間
我目前運行下面的查詢:
SELECT user_logs.timestamp
FROM user_logs
WHERE user_logs.timestamp >= %(timestamp_1)s
AND user_logs.timestamp <= %(timestamp_2)s
ORDER BY user_logs.timestamp
經常有其他有條件的地方,但他們不應該的問題的問題。我使用Postgres,但我會假設使用的任何功能都可以在其他語言中使用。
我將結果拖到一個Python腳本中,該腳本計算每個日期的視圖數量,但如果數據庫可以對我進行分組和計數,它對我來說會更有意義。
我該如何剝離它,這樣它會按日分組而忽略時間?
PostgreSQL快捷方式:'user_logs.timestamp :: date'而不是'date_trunc('day',user_logs.timestamp)''。 –
謝謝你倆:) – Teifion
@Igor注意,對':: date'的轉換會丟失時區信息,而'date_trunc'不會。當你想比較同一天兩年和那一天從一個時區變爲另一個時,這可能很重要。 –