모든 직원의 직원 ID, 로그인 시간 및 각 직원의 로그 아웃 시간이 포함 된 테이블에서 매일 로그인 시간과 로그 아웃 시간에서 최소값을 추출해야합니다. 문제는 매일 직원이 여러 번 로그인하고 로그 아웃 할 수 있다는 것입니다. 따라서 다음과 같은 샘플 데이터가 있습니다.Oracle의 테이블에서 최소 및 최대 시간을 추출하는 방법은 무엇입니까?
NAME EMPID LOGIN TIME LOGOUT TIME
user1 37 16-JAN-12 03.07.37 16-JAN-12 03.07.44
user5 21 16-JAN-12 02.00.36 16-JAN-12 04.45.34
user3 12 16-JAN-12 05.35.35 16-JAN-12 06.39.57
user3 40 16-JAN-12 02.54.13 16-JAN-12 07.12.16
user4 33 16-JAN-12 07.29.43 16-JAN-12 07.59.42
user1 40 16-JAN-12 07.12.39 16-JAN-12 07.59.50
user3 30 16-JAN-12 11.30.50 16-JAN-12 08.02.42
user990 31 17-JAN-12 11.46.12 17-JAN-12 01.46.13
user29 23 17-JAN-12 10.39.18 17-JAN-12 05.00.02
user20 21 17-JAN-12 04.59.37 17-JAN-12 05.00.17
user990 40 17-JAN-12 10.55.48 17-JAN-12 05.00.50
user4 23 17-JAN-12 05.00.11 17-JAN-12 05.01.08
user4 21 17-JAN-12 04.59.37 17-JAN-12 05.01.21
시도해 보았습니다. 단 하루 만 작동합니다.
SELECT username, MIN(login_time), MAX(logout_time)
FROM Table_Name
WHERE trunc(login_time) = '19-JAN-12'
GROUP BY username;
입력 한 날짜에 대해 다음과 같은 결과가 표시됩니다. 이
NAME
user1 19-JAN-12 11.00.26 19-JAN-12 08.00.53
user3 19-JAN-12 11.05.53 19-JAN-12 11.36.02
user29 19-JAN-12 09.49.32 19-JAN-12 06.48.08
user990 19-JAN-12 10.59.59 19-JAN-12 08.11.15
use23 19-JAN-12 06.40.36 19-JAN-12 08.36.07
user43 19-JAN-12 11.23.05 19-JAN-12 08.28.02
user89 19-JAN-12 02.38.54 19-JAN-12 07.28.02
user4 19-JAN-12 01.24.09 19-JAN-12 06.01.07
user7 19-JAN-12 03.29.17 19-JAN-12 08.34.02
user9 19-JAN-12 09.42.13 19-JAN-12 06.35.54
왜 -1? 내가 범한 범죄는 무엇인가? :) – MontyPython
나는 당신을 평가 절하하지 않았지만 당신의 질문이 약간 불분명하다는 (잘못된) 대답의 수를 추측 할 수 있습니다. 편집으로 인해 많은 부분이 개선되었지만 여전히 입력 데이터에는 16-JAN, 원하는 출력 데이터에는 19-JAN이 있습니다. –
나는 내가 원하는 결과를 가지고있다. 고마워. 내가 가지고있는 것은 최소 로그인 시간과 최대 로그 아웃 시간을 알려주는 모든 날짜에 대해 모든 사용자에 대해 하나의 기록입니다. 이 경우 로그인 및 로그 아웃 날짜는 동일합니다. – MontyPython