+------+-------------------------+ | proc | endTime | +------+-------------------------+ | A | 2010/01/01 12:10:00.000 | | B | 2010/01/01 12:08:00.000 | | C | 2010/01/01 12:05:00.000 | | D | 2010/01/01 12:02:00.000 | | ...| ... |
기본적으로 데이터베이스에서 가져온 데이터는 첫 번째 열이 프로세스 이름이고 두 번째 열이 실행 완료일 때와 같습니다. 세 번째 열을 추가하여 프로세스의 실행 시간을 표시하고 싶습니다.SQL - 파생 날짜 차이 열
는 기본적으로, 데이터가 대신이처럼 보이도록 당겨 원하는 :
+------+-------------------------+--------------+ | proc | endTime | runningTime | +------+-------------------------+--------------+ | A | 2010/01/01 12:10:00.000 | | (process a is not done running) | B | 2010/01/01 12:08:00.000 | 00:03:00.000 | | C | 2010/01/01 12:05:00.000 | 00:03:00.000 | | D | 2010/01/01 12:02:00.000 | 00:02:00.000 | (assume 12:00 start time) | ...| ... | ... |
을 그리고 나는 그것이 startTime
열을 추가 쉬울 것 알고 그에서 runningTime
을 결정,하지만 난에 액세스 할 수 없습니다 그것을 바꾸면 어쨌든 이전 데이터에는 startTime이 없으므로 어쨌든 작동합니다.
첫 번째 프로세스의 시작 시간은 임의적이지만 내가 무엇을 얻고 있는지 알 수 있습니다. 우리는 proc D가 종료 된 시점과 proc C가 종료 된 시점을 기준으로 proc C의 실행 시간을 알고 있습니다 (두 번째에서 첫 번째를 뺍니다).
"행 X 색 B"와 "행 X-1 색 B"의 차이를 기반으로 세 번째 행을 어떻게 계산합니까?
MySQL 결과와 비슷합니다. DBMS는 무엇을 사용하고 있습니까? – Mike
Microsoft SQL Server, 분명히 알았어 야합니다. – gjk
MySQL이 아닌 SQL로 태그를 지정했습니다. 예제 출력이 MySQL과 비슷하게 보입니다. 변수를 데이터를 반환하는 SELECT에 할당 할 수 없기 때문에 MS SQL에서 사용한 MySQL 메서드를 복제 할 수 있는지 여부는 알 수 없습니다. – Mike