我對我的SQL很生疏,也許你可以幫我解決這個問題。在Postgres上使用日期的聚合函數
我有這兩個表一票系統(我省略某些字段):
表門票
id - bigint
subject - text
user_id - bigint
closed - boolean
first_message - bigint
(外鍵,爲下表中的id)
last_message - bigint
(與之前相同)
表ticket_messages
creation_date
我需要查詢封閉票,並進行的第一條消息CREATION_DATE和最後的消息CREATION_DATE之間花費的時間的平均值。這是我迄今所做的:
SELECT t.id, t.subject, tm.creation_date
FROM tickets AS t
INNER JOIN ticket_messages AS tm
ON tm.id = t.first_message
OR tm.id = t.last_message
WHERE t.closed = true
我通過尋找一些團體或聚合函數來從表中的所有數據,並試圖計算出過去之間所花費的時間和第一個,也試圖顯示第一個和最後一個消息的日期。
UPDATE我添加了一個內加入與第二個表,而不是「OR」,現在我得到兩個日期,我可以找到我的應用程序的總和:
SELECT t.id, t.subject, tm.creation_date, tm2.creation_date
FROM tickets AS t
INNER JOIN ticket_messages AS tm
ON tm.id = t.first_message
INNER JOIN ticket_messages as tm2
ON tm2.id = t.last_message
WHERE t.closed = true
我想這樣做...