2013-02-12 6 views
-1

나는 테이블과주 범위에서 날짜 열을 그룹화

Start_date timestamp, 
end_date timestamp, 
id number, 
cost number(10,2). 

같은 열 그리고 난 테이블 '에 삽입 된 데이터가 지금 내가 원하는이

1,'2013-02-03 00:00:00','2013-02-03 00:00:00',75*0.06 
1,'2013-02-04 00:00:00','2013-02-04 00:00:00',75*0.06 
1,'2013-02-05 00:00:00','2013-02-05 00:00:00',75*0.06 
1,'2013-02-06 00:00:00','2013-02-06 00:00:00',75*0.06 
1,'2013-02-07 00:00:00','2013-02-07 00:00:00',75*0.06 
1,'2013-02-08 00:00:00','2013-02-08 00:00:00',75*0.06 
1,'2013-02-09 00:00:00','2013-02-09 00:00:00',75*0.06 

와 같이있을 것이다있다 일요일부터 토요일까지 Start_dateend_date 열을 그룹화합니다.

이 문제에 대해 도움을 주시겠습니까?

미리 감사드립니다.

+0

'주 (시작일)'와'주 (종료일)는'당신에게 주를 제공합니다 번호; 거기에서 그룹 – SparKot

+0

@Dileep - 샘플 데이터와 원하는 출력을 추가 할 수 있습니다. 나는 개인적으로 Sun이 토요일에 무엇을 의미하는지 이해하지 못합니다 ... 날짜 또는 주 숫자 또는 요일 등으로 주문할 수 있습니다 ... – Art

+0

@DoSparKot이 선택한 주 (시작일), 주 (종료일)를 시도했을 때 1 번 테이블; 오류 – Dileep

답변

0

귀하가 제공 한 샘플뿐만 아니라 귀하의 질문도 이해할 수 없으므로 제공 할 수있는 최선의 방법입니다. 2013 년 ISO 주 테이블 :

SELECT start_date -- 1/1/2013 -- 
, TRUNC(start_date, 'iw')     wk_starts 
, TRUNC(start_date, 'iw') + 7 - 1/86400 wk_ends 
, TO_NUMBER (TO_CHAR (start_date, 'IW')) ISO_wk#_iw 
, TO_CHAR(start_date, 'DAY')    wk_day 
FROM 
(
    SELECT TRUNC(SYSDATE, 'YEAR')-1 + LEVEL AS start_date 
    FROM dual 
CONNECT BY LEVEL <= 
(
    SELECT TRUNC(ADD_MONTHS (SYSDATE, 12), 'Y')-TRUNC(SYSDATE, 'Y') "Num of Days in 2013" 
    FROM dual 
) 
) 
/

START_DATE WK_STARTS WK_ENDS   ISO_WK# WK_DAY 
---------------------------------------------------------------------- 
1/1/2013 12/31/2012 1/6/2013 11:59:59 PM 1 TUESDAY 
1/2/2013 12/31/2012 1/6/2013 11:59:59 PM 1 WEDNESDAY 
..... 
1/7/2013 1/7/2013 1/13/2013 11:59:59 PM 2 MONDAY 
1/8/2013 1/7/2013 1/13/2013 11:59:59 PM 2 TUESDAY 
..... 
당신은 그것을 같아요하여 날짜와 주문 다른 형식을 추가 할 수 있습니다

...

+0

Netezza DB를 사용하고 있으므로 Trunc를 사용할 수없는 쿼리가 있습니다. – Dileep

+0

@Dileep - 사용할 수있는 기능은 무엇입니까? ROUND()가 작동 할 수 있습니다 ... TRUNC()가 문제가있는 경우 Netezza에서 해당 항목을 찾아야합니다. 나는 그것에 대해 들어 본 적이 없다. 귀하의 질문에 오라클 태그가 있으므로, 오라클 쿼리 도움이 될 것이라고 생각, 몇 가지 생각을주고 ... – Art

+0

대부분의 오라클 함수를 사용하지만, 우리는 TRUNC, 레벨 등의 일부를 사용하지 마십시오. – Dileep

관련 문제