2017-07-31 25 views
0

我創建了總結爲各自的日期 - 時間間隔查詢,轉換間隔數PostgreSQL中

select sum(ts_polling)/count(ts_polling) as Average_Queue_Wait_Time , cast(time_start AS Date) 
    from callcent_queuecalls group by cast(time_start AS date) order by time_start DESC; 

enter image description here

有沒有辦法來Average_Queue_Wait_Time從間隔數據類型轉換數字?

+0

https://stackoverflow.com/questions/952493/how-do-i-convert-an-interval-into-a - 數量與小時後,您可以檢查這一點。 –

+0

它是什麼數字?..秒數?..小時?.. –

+0

我想將avergae_queue_wait_time轉換爲整數值。 我嘗試使用提取物的功能如下, 'SELECT EXTRACT(第二FROM(通過流延選擇從callcent_queuecalls組總和(ts_polling)/計數(ts_polling) (TIME_START AS日期)))AS Queue_Wait_Time, 鑄造(TIME_START AS DATE)AS DAYOFMONTH從callcent_queuecalls組由鑄鐵(TIME_START AS日期)ORDER BY CAST(TIME_START AS DATE)DESC' ---------- 返回以下錯誤, *** ********錯誤********** _ERROR:子查詢返回多於一行用作表達式 SQL狀態:2100_ – RKs

回答

0

你可以得到的秒數中的時間間隔是這樣的:

SELECT EXTRACT(epoch FROM INTERVAL '1 day 30 minutes 1.234 seconds'); 

┌───────────┐ 
│ date_part │ 
├───────────┤ 
│ 88201.234 │ 
└───────────┘ 
(1 row) 
+0

是否可以在子查詢上提取?例如,我運行以下語句,並導致錯誤'SELECT EXTRACT(第二個FROM(通過cast(time_start AS date))從callcent_queuecalls group中選擇sum(ts_polling)/ count(ts_polling) ))AS Queue_Wait_Time, cast(time_start AS DATE )從callcent_queuecalls組中的DayOfMonth通過強制轉換(time_start AS日期)通過強制轉換(time_start AS DATE)DESC ' _ERROR:作爲表達式使用的子查詢返回多於一行SQL狀態:2100_ – RKs

+0

您只能使用此類一個子查詢,如果它返回最多一行。你應該使用'SELECT EXTRACT(第二個總和(ts_polling)/ count(ts_polling))FROM ...'。 –

+0

非常好!這給了我正在尋找的輸出。我在配置數據庫儀表板中使用了這個查詢,它看起來很棒。謝謝你的幫助......乾杯 – RKs