2012-08-14 3 views
0

문제가 있습니다. 그들의 값이 변경 될 때 행 값 사이의 시간 차이를 찾고 싶습니다. 내 테이블에 다음과 같은 데이터가 있습니다. 예 :주어진 데이터베이스에서 충전 시간은 어떻게 받습니까?

------------------------------------ 
    DateandTime  | DCStatus 
------------------------------------ 
2012-01-01 01:00:00 | Using 
2012-01-02 02:00:00 | Using 
2012-01-03 03:00:00 | Using 
2012-01-04 04:00:00 | Charging 
2012-01-05 05:00:00 | Charging 
2012-01-06 06:00:00 | Using 
2012-01-06 07:00:00 | Using 
2012-01-06 08:00:00 | Using 
2012-01-05 09:00:00 | Charging 
2012-01-05 10:00:00 | Charging 
2012-01-05 11:00:00 | Charging 
------------------------------------ 

평균 충전 시간과 방전 ​​시간은 어떻게 계산합니까? 나는 SQL 프로그래밍에 익숙하지 않다. 도와주세요 !!

답변

1

내가 아는 한 표준 쿼리를 사용하여이를 수행 할 수 없습니다. 에서 그것을 을 처리하기 위해 원하는 효과를

  • 쿼리 데이터를 달성하고 당신이 당신의 응용 프로그램의 나머지 부분을 구축하고 프로그래밍 언어를 사용하는

    • 사용하는 저장 프로 시저와 MySQL programming constructs : 당신은 두 가지 옵션이 있습니다

      특별히 데이터베이스에서이 계산을 강요하지 않으면, 후자의 옵션을 제안합니다. 프로그래밍 언어는 일반적으로 이러한 종류의 계산에 더 적합하며 응용 프로그램은 MySQL을 데이터베이스로 덜 의존하게됩니다.

  • 0
    select avg(Time(DateandTime)) from yourTable where DCStatus = 'Charging' or DCStatus = 'DisCharging' group by DCStatus; 
    

    저는 MySQL에서 잘 작동하는지 모르지만 테스트 할 시간이 없지만 작동 할 것입니다.

    +0

    평균 시간이 필요합니다. 날짜도 출력합니다. –

    +0

    그래, 내 대답을 편집 했어, 새로운 코드를 시도해. –

    +0

    너는 생명의 은인 이네, 고마워. DCStatus = 'Charging'또는 DCStatus = 'DCStatus에 의한 그룹 해제' 당신의 테이블에서 평균 (second (DateandTime))을 선택하십시오. –

    관련 문제