programing

sql을 사용하여 유형 시간의 합계를 계산

i4 2023. 8. 9. 20:30
반응형

sql을 사용하여 유형 시간의 합계를 계산

다음 형식의 "timeSpent"라는 콜론의 총 시간을 계산하는 방법:HH:mm in SQL?저는 MySQL을 사용하고 있습니다.

제 칼럼의 유형은 시간입니다.

이 구조를 가지고 있습니다.

시간: 10:00:00 12:00 02:00:0008:00:00 09:15:00 01:15:00까지소요시간
총 시간 03:15:00
SELECT  SEC_TO_TIME( SUM( TIME_TO_SEC( `timeSpent` ) ) ) AS timeSum  
FROM YourTableName

MYSQL 데이터베이스의 총 시간을 확보하기 위한 100% 작동 코드:

SELECT
SEC_TO_TIME( SUM(time_to_sec(`db`.`tablename`))) 
As timeSum
FROM
`tablename`

확인해 보십시오.감사해요.

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;

의 데이터 유형인 경우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

언급URL : https://stackoverflow.com/questions/3054123/calculate-a-sum-of-type-time-using-sql

반응형