如何計算具有以下格式的稱為" timeSpent"的我的殖民地的時間总和:HH:mm 在SQL中? 我正在使用MySQL。
我的列的型別是時間。
它具有這種結構
時間从10:00:00 12:00:00 02:00:00 時間直到08:00:00 09:15:00 01:15:00 所花费的時間 总時間03:15:00
最新回復
- 5月前1 #
- 5月前2 #
100% working code to get sum of time out of MYSQL Database:
SELECT SEC_TO_TIME( SUM(time_to_sec(`db`.`tablename`))) As timeSum FROM `tablename`
尝試並確认。 谢谢。
- 5月前3 #
如果是
timeSpent
的資料型別 列是TIME
您應该可以使用以下查詢:SELECT SUM(timeSpent) FROM YourTableName -- replace YourTableName with the actual table name
但是,如果不是這種情况,則可能必须使用強製轉換来轉換為
Time
資料型別.這樣的事情應该起作用:SELECT SUM(timeSpent - CAST('0:0:0' as TIME)) FROM YourTableName -- replace YourTableName with the actual table name
- 5月前4 #
在MySQL中,您將執行以下操作以获取時間間隔:
SELECT TIMEDIFF('08:00:00', '10:00:00');
然後添加時間間隔,您可以這樣做:
SELECT ADDTIME('01:00:00', '01:30:00');
不幸的是,您没有儲存日期或使用24小時製,因此由於您的
TimeUntil
,這些計算最终將不正確 實際上低於您的TimeFrom
另一種方法是(假設您解決了上述問题)使用
TIMESTAMPDIFF()
將時間間隔儲存為秒 :UPDATE my_table SET time_spent=TIMESTAMPDIFF(start, end)); SELECT SEC_TO_TIME(SUM(time_spent)) FROM my_table;
相似問題
- mysql:檢查表是否存在時間重叠?mysqlsqltimerangeoverlap2021-01-11 22:24
- sql:MySQL SELECT DISTINCT多列mysqlsqldistinct2021-01-11 21:26
- sql:如何删除MySQL表中的重複項sqlmysqldatabase2021-01-11 03:23
- mysql:6000万个條目,請从特定月份選擇條目如何優化資料庫?mysqlsqlqueryoptimization2021-01-10 19:26
- sql:如何在MySQL中生成資料?mysqlsql2021-01-10 18:57
這對我有用.希望這会有所帮助。