2017-08-28 37 views
-3

我有一個有多個人名字的表。每個人在多個工作的幾個日期中出現幾次。我想根據不同的工作選擇不同的工作時間總和。 實施例:MySQL在1行中選擇不同行的總和

PersonName  Job1  Job2  Job3 

    Eliot  14:55 23:17  80:12 
+0

到目前爲止您嘗試過什麼?請發佈您的查詢,表格結構和樣品數據 – etsa

+0

「在幾個日期上出現幾次」並不能真正幫助我們幫助您。你怎麼知道他每天工作多少時間? starttime endtime列?一個指定金額的列?一個人可以在午夜後工作嗎?請張貼表結構和嘗試。 – sagi

回答

0

可以儲存工作時間爲分鐘(例如整數)或小時(例如十進制),以便能夠計算一個總和。在這種情況下,你可以使用下面的代碼:

SELECT PersonName, SUM(Job1) as Job1, SUM(Job2) as Job2, SUM(Job3) AS Job3 
FROM schema_name.table_name 
GROUP BY PersonName; 

現在你的工作時間似乎被存儲爲一個字符串。您可以編寫一個將此考慮在內的查詢,但將工作時間存儲爲數字應該更容易。