oracle (특정 컬럼 값 기준으로 범위 지정) 0 4 119

by 제주감귤 [Oracle 기초] 날짜 범위 [2019.12.01 16:51:51]


안녕하세요.

오라클 쿼리 질문드립니다. 찾아보는데 잘 모르겠어서요 ㅠㅠ

no price date
1 1000 20191101
2 2000 20191201
1 1000 20191102
3 3000 20191220

위처럼 date 컬럼이 제각각인 테이블이 존재하는데

조건을 date 기준으로  +10, -10 이런 식으로 지정하고 싶습니다.

+10을 조건으로 정했다고 가정했을때, no 로 그룹바이를 해서 price의 합계를 도출해야 합니다.

no sum
1 2000
2 2000
3 3000


ㅠㅠ 도와주세요..

 

 

 

 

by 우리집아찌 [2019.12.02 09:34:56]

좀 더 자세히 설명해주세요 

위의 데이터면 no 기준르로 group by 하면 결과나 ㅏ나옵니다


by jkson [2019.12.02 09:35:38]

+10이라는 게 날짜 간격이겠지요?

+10과 -10은 그럼 같은 의미 아닌가요?

20191101 기준에서는 20191110이 +10이지만

20191110기준에서 20191101은 -10이고요.

만약 이런 식이라면

20191101 20191110 20191120 20191130

이런 식의 자료가 있다면 모두 같은 그룹인 건가요?

no가 같더라도 10일 차이가 더 나면 그룹이 나눠져야 하나요?

자세한 예시가 필요해 보입니다.

 


by 제주감귤 [2019.12.02 13:31:27]

예시를 제대로 적지 않은 것 같네요..ㅠㅠ

date가 만약 20191101 이고 +7 의 조건을 넣으면, 20191101 부터 20191108까지의 price의 sum이 나와야하고

date가 20191201 이라면 20191208 까지의 price의 sum이 나와야 합니다.

제각각인 date 컬럼 값이 기준이 되어 결과를 추출하고 싶습니다 !!

도움주시면 감사하겠습니다


by jkson [2019.12.02 16:43:33]

자세히 안 적으신 것 같은데..

+7 조건이 들어오고 no, price, date가 다음과 같이 들어올 때 결과값이 어떻게 되어야 하나요?

row별이 아니라 그룹으로 묶는 거라면 +7과 -7은 같은 의미가 됩니다.

본문에 결과는 no별로 group지어진 것으로 보이고요.

1, 1000, 20191101

2, 2000, 20191201

1, 1000, 20191102

3, 3000, 20191220

1, 1000, 20191112

1, 1000, 20191113

1, 1000, 20191123

1, 1000, 20191124

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입