2014-12-16 4 views
3

날짜별로 결과를 그룹화하려고하지만 같은 시간에 타임 스탬프를 표시하려고합니다. 나는날짜별로 그룹화하는 방법과 기록을 처음 얻는 방법/방법

DateTme    col1  col2  col3  col4 
12/16/2014 3:23  we  23   xyz  R 
12/16/2014 5:14  re  45   uty  X 
12/16/2014 5:15  re  45   uty  X 
12/16/2014 5:47  ue  87   owu  B 
12/16/2014 6:30  oe  92   pqr  M 
12/16/2014 6:33  oe  92   pqr  M 

내가 같은 결과를 얻을해야 ...

DateTme    col1  col2  col3  col4 
12/16/2014 3:23  we  23   xyz  R 
12/16/2014 5:15  re  45   uty  X 
12/16/2014 5:47  ue  87   owu  B 
12/16/2014 6:33  oe  92   pqr  M 

하는 날짜, COL1, COL2, COL3 col4에 의해 I 그룹이 나는 등의 중복을 얻고 있다면 ... 테이블 아래처럼이 시간은 초 단위로 다릅니다. 고유 ID가 없으므로 PARTITION과 함께 First_Value를 사용할 수 없습니다. 유일성은 모든 4 개의 열과 함께 제공됩니다. 이를 달성하는 방법을 알려주십시오. 감사.

답변

1

이 시도 :

select datetme,col1,col2,col3,col4 from (
select t1.*,row_number() over (partition by trunc(datetme),col1,col2,col3,col4 
order by datetme desc) cont from your_table t1) 
where cont = 1 
order by datetme 

파티션 trunc(datetme)으로는 시간 문제를 해결한다.

+0

빠른 답장을 보내 주셔서 감사합니다. 저에게 도움이되었습니다. 오라클에 대한 지식이 거의 없어서 trunc 부분을 놓쳤습니다. 다시 한번 감사드립니다 ... – user1653027

+0

환영합니다! 나는 그것이 당신을 돕기 때문에 기쁘다!! – Aramillo

관련 문제