2013-08-01 54 views
0

我的表中有一個「TIME」類型列。它有兩行具有以下值公司: 04:30:00 04:30:00 我想要一個總的2行以CSV文件中使用的代碼MySql的煩惱與日期/時間值

enter code here 

$sql2 = "SELECT company, SUM(intervalTime) 
    INTO OUTFILE 'd:/myfile/xxx.csv' 
    FIELDS TERMINATED BY ',' 
    FROM june2013 GROUP BY company"; 

    if (mysqli_query($con,$sql2)) 
    { 
    echo "Summary added to text file successfully"; 
    } 
    else 
    { 
    echo "Error transferring summary " . mysqli_error($con); 
    } 

寫結果被轉移到csv文件具有以下值: 公司的4時30分00秒+ 4時30分00秒一個86000 公司b 420000 公司C 292000

總應該是9小時。我一共4300 + 4300 任何想法得到了我如何解決這個問題? 非常感謝!

+0

http://stackoverflow.com/questions/1329458/mysql-how-to-sum-times – NDM

回答

1

你不能只是SUM這樣一個時間列,您需要將其轉換成數字值第一(數學與數字工程)。

試試這個:

$sql2 = "SELECT company, SEC_TO_TIME(SUM(TIME_TO_SEC(intervalTime))) 
    INTO OUTFILE 'd:/myfile/xxx.csv' 
    FIELDS TERMINATED BY ',' 
    FROM june2013 GROUP BY company"; 
0

我認爲每家公司有兩行。然後,此查詢可能會有所幫助:

select 
    t1.company AS com, 
    addtime(
     (select intervalTime from june2013 AS t2 where t2.company = t1.company LIMIT 1), 
    (select intervalTime from june2013 AS t2 where t2.company = t1.company LIMIT 1, 1) 
) AS dif 
into outfile 'd:/myfile/xxx.csv' 
FIELDS TERMINATED BY ',' 
from june2013 as t1 
group by t1.company; 

使用函數addtime(time1,time2)正確地求和日期。請參閱mysql文檔。