2012-06-21 152 views
0

我已經列週一,週二,週三,週四,週五,週六,週日在次表時間戳每天到項目Mysql的總和兩列的時間戳

我需要通過增加花費的時間總和項目的所有列。

我實際的查詢是這樣的 -

我其實查詢是這樣的 - SELECT time(SEC_TO_TIME(SUM(TIME_TO_SEC(fri))) + SEC_TO_TIME(SUM(TIME_TO_SEC(thu))) + SEC_TO_TIME(SUM(TIME_TO_SEC(tue)))) FROM timesheets WHERE project_id = 5

誰能幫我寫準確的查詢來獲取所有列的時間和金額作爲總

在此先感謝

回答

1

我不認爲有一個時間函數,需要超過兩個參數來總結它們。
下面的代碼片段可能對你有幫助:

select 
    addtime(mon, addtime(tue, addtime(wed, addtime(thu, 
      addtime(fri, addtime(sat, sun)))))) total_time_spent 

上面的查詢返回hours:minutes:seconds格式花費的總時間。
要僅選擇總共花費的小時數,請使用time_format函數。

select time_format(total_time_spent, '%H') total_hours_spent 

請注意,此查詢只返回所用時間的小時部分。如果存在任何問題,您將丟失分鐘和秒鐘。

更新
下面的代碼片段可以給你總小時和分鐘花費。

select 
    time_format( 
     addtime(mon, addtime(tue, addtime(wed, addtime(thu, 
      addtime(fri, addtime(sat, sun)))))), 
     '%H:%i') total_hours_and_mins_spent 
+0

是的..它返回7行,我們如何使用相同的查詢得到最終總和。謝謝 – Sri

+0

@Sri沒有第二個片段幫助你嗎? –

+0

Shud我結合了兩個查詢? 。我嘗試了第一個。 – Sri

0

關於日期和時間,包括解析,類型,轉換和格式MySQL documentation有很長的篇章。

投下你列TIME類型並從中受益:

SELECT Mon + Tue 
2

您是否嘗試過?

SELECT ADDTIME(time1, time2);