주식 차트 프로그램을 만들고 있는데요..
쉽게 생각했는데, 생각보다 시작단계 쿼리부터 막히네요.. ㅠ.ㅠ
 
idx type money amount date
42 1 300000 30 20150121010101
41 2 300000 30 20150121010101
40 1 200000 20 20150120010101
39 2 200000 20 20150120010101
38 1 100000 10 20150119010101
37 2 100000 10 20150119010101
36 1 200000 20 20150118010101
35 2 200000 20 20150118010101
34 1 300000 30 20150117010101
33 2 300000 30 20150117010101
32 1 400000 40 20150116010101
31 2 400000 40 20150116010101
30 1 500000 50 20150115010101
29 2 500000 50 20150115010101
28 1 600000 60 20150114010101
27 2 600000 60 20150114010101
26 1 700000 70 20150113010101
25 2 700000 70 20150113010101
24 1 800000 80 20150112010101
23 2 800000 80 20150112010101
22 1 900000 90 20150111010101
21 2 900000 90 20150111010101
20 1 1000000 100 20150110010101
19 2 1000000 100 20150110010101
18 1 900000 90 20150109010101
17 2 900000 90 20150109010101
16 1 800000 80 20150108010101
15 2 800000 80 20150108010101
14 1 700000 70 20150107010101
13 2 700000 70 20150107010101
12 1 600000 60 20150106010101
11 2 600000 60 20150106010101
10 1 500000 50 20150105010101
9 2 500000 50 20150105010101
8 1 400000 40 20150104010101
7 2 400000 40 20150104010101
6 1 300000 30 20150103010101
5 2 300000 30 20150103010101
4 1 200000 20 20150102010101
3 2 200000 20 20150102010101
2 1 100000 10 20150101010101
1 2 100000 10 20150101010101
 
 데이타는 이런 형태로 들어있습니다.
사실 엄청 많은데, 제가 모양만 따와서 추렸습니다.
실제로는 시분초가 제각각이구요.. 0시 0분 0초 이렇게 떨어지는건 없다고 봐야 합니다.
 
원하는건 간격일과 평균계산일을 입력하면, 해당 간격일 마다 날짜가 조회되면서 그 기간의 평균값이 나오는것입니다.
 
예를들어, 아래와 같이 지정하면
 
간격일 2
평균계산일 7
type money amount date money, amount 값
1 285714 28.5 2015-01-21 14~21일의 평균값
2 285714 28.5 2015-01-21 14~21일의 평균값
1 450000 45 2015-01-19 12~19일의 평균값
2 450000 45 2015-01-19 12~19일의 평균값
1 600000 60 2015-01-17 10~17일의 평균값
2 600000 60 2015-01-17 10~17일의 평균값
1 775000 77.5 2015-01-15 08~15일의 평균값
2 775000 77.5 2015-01-15 08~15일의 평균값
1 800000 80 2015-01-13 06~13일의 평균값
2 800000 80 2015-01-13 06~13일의 평균값
1 725000 72.5 2015-01-11 04~11일의 평균값
2 725000 72.5 2015-01-11 04~11일의 평균값
1 550000 55 2015-01-09 02~09일의 평균값
2 550000 55 2015-01-09 02~09일의 평균값
1 400000 40 2015-01-07 전달30~07일의 평균값
2 400000 40 2015-01-07 전달30~07일의 평균값
1 277777 27.7 2015-01-05 전달28~05일의 평균값
2 277777 27.7 2015-01-05 전달28~05일의 평균값
1 200000 20 2015-01-03 전달26~03일의 평균값
2 200000 20 2015-01-03 전달26~03일의 평균값
1 100000 10 2015-01-01 전달24~01일의 평균값
2 100000 10 2015-01-01 전달24~01일의 평균값
 
이런 값이나와야 하구요..
 
간격일 7
평균계산일 7
type money amount date money, amount 값
1 220000 22 2015-01-21 15~21일의 평균값
2 220000 22 2015-01-21 15~21일의 평균값
1 814285 81.4 2015-01-14 08~14일의 평균값
2 814285 81.4 2015-01-14 08~14일의 평균값
1 400000 40 2015-01-07 01~07일의 평균값
2 400000 40 2015-01-07 01~07일의 평균값
 
마지막 데이타 모양 샘플은
 
간격일 3
평균계산일 30
type money amount date money, amount 값
1 500000 50 2015-01-21 전달21~21일의 평균값
2 500000 50 2015-01-21 전달21~21일의 평균값
1 526315 52.6 2015-01-19 전달19~19일의 평균값
2 526315 52.6 2015-01-19 전달19~19일의 평균값
1 587500 58.7 2015-01-16 전달16~16일의 평균값
2 587500 58.7 2015-01-16 전달16~16일의 평균값
1 607692 60.7 2015-01-13 전달13~13일의 평균값
2 607692 60.7 2015-01-13 전달13~13일의 평균값
1 581818 58.1 2015-01-10 전달10~10일의 평균값
2 581818 58.1 2015-01-10 전달10~10일의 평균값
1 400000 40 2015-01-07 전달07~07일의 평균값
2 400000 40 2015-01-07 전달07~07일의 평균값
1 250000 25 2015-01-04 전달04~04일의 평균값
2 250000 25 2015-01-04 전달04~04일의 평균값
1 100000 10 2015-01-01 전달01~04일의 평균값
2 100000 10 2015-01-01 전달01~04일의 평균값
 
이런 형태로 출력이 되어야 합니다.
 
각 기간별 평균을 어떻게 구해야 할까요?
고수님들의 답변 기다리겠습니다..
 
==================================================================
CREATE TABLE [dbo].[TEST](
 [idx] [bigint] IDENTITY(1,1) NOT NULL,
 [TYPE] [char](1) NOT NULL,
 [MONEY] [int] NOT NULL,
 [AMOUNT] [int] NOT NULL,
 [DATE] [varchar](20) NOT NULL
)
 
INSERT TEST VALUES ('1',300000,30,'20150121010101');
INSERT TEST VALUES ('2',300000,30,'20150121010101');
INSERT TEST VALUES ('1',200000,20,'20150120010101');
INSERT TEST VALUES ('2',200000,20,'20150120010101');
INSERT TEST VALUES ('1',100000,10,'20150119010101');
INSERT TEST VALUES ('2',100000,10,'20150119010101');
INSERT TEST VALUES ('1',200000,20,'20150118010101');
INSERT TEST VALUES ('2',200000,20,'20150118010101');
INSERT TEST VALUES ('1',300000,30,'20150117010101');
INSERT TEST VALUES ('2',300000,30,'20150117010101');
INSERT TEST VALUES ('1',400000,40,'20150116010101');
INSERT TEST VALUES ('2',400000,40,'20150116010101');
INSERT TEST VALUES ('1',500000,50,'20150115010101');
INSERT TEST VALUES ('2',500000,50,'20150115010101');
INSERT TEST VALUES ('1',600000,60,'20150114010101');
INSERT TEST VALUES ('2',600000,60,'20150114010101');
INSERT TEST VALUES ('1',700000,70,'20150113010101');
INSERT TEST VALUES ('2',700000,70,'20150113010101');
INSERT TEST VALUES ('1',800000,80,'20150112010101');
INSERT TEST VALUES ('2',800000,80,'20150112010101');
INSERT TEST VALUES ('1',900000,90,'20150111010101');
INSERT TEST VALUES ('2',900000,90,'20150111010101');
INSERT TEST VALUES ('1',1000000,100,'20150110010101');
INSERT TEST VALUES ('2',1000000,100,'20150110010101');
INSERT TEST VALUES ('1',900000,90,'20150109010101');
INSERT TEST VALUES ('2',900000,90,'20150109010101');
INSERT TEST VALUES ('1',800000,80,'20150108010101');
INSERT TEST VALUES ('2',800000,80,'20150108010101');
INSERT TEST VALUES ('1',700000,70,'20150107010101');
INSERT TEST VALUES ('2',700000,70,'20150107010101');
INSERT TEST VALUES ('1',600000,60,'20150106010101');
INSERT TEST VALUES ('2',600000,60,'20150106010101');
INSERT TEST VALUES ('1',500000,50,'20150105010101');
INSERT TEST VALUES ('2',500000,50,'20150105010101');
INSERT TEST VALUES ('1',400000,40,'20150104010101');
INSERT TEST VALUES ('2',400000,40,'20150104010101');
INSERT TEST VALUES ('1',300000,30,'20150103010101');
INSERT TEST VALUES ('2',300000,30,'20150103010101');
INSERT TEST VALUES ('1',200000,20,'20150102010101');
INSERT TEST VALUES ('2',200000,20,'20150102010101');
INSERT TEST VALUES ('1',100000,10,'20150101010101');
INSERT TEST VALUES ('2',100000,10,'20150101010101');
No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 38111
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 20672
8583 프로시저 암호화 한거 못보게 할 방법 없을까요? [2] 가끔보는하늘 2015.03.06 4445
8582 설치지원 파일 설치시 에러 ㅠ_ㅠ 마모루 2015.03.06 4427
8581 프로파일러 엑셀로 복사하는 방법 [1] akfflr 2015.03.05 3153
8580 다음의 데이터에 대하여 쿼리를 어떻게하면 효율적으로 뽑을수 있을까요 TT [2] 무념 2015.03.04 3142
8579 컬럼값 비교 질문 입니다.. [4] 고구망 2015.03.03 3421
8578 월별 합개 질문입니다. [3] 깨비꼬비 2015.03.02 3771
8577 db 에러 로그 확인 zza 2015.03.02 5279
8576 개발용 데이터베이스 구축 [2] 더따뜻한 2015.03.02 3200
8575 login 비밀번호를 알수 있는 방법이 있나요? [1] 곰탱이아빠 2015.03.02 3648
8574 설치 중 오류메시지가 발생하며 진행이 안됩니다.. SQLerBeginner 2015.02.28 3613
8573 이력 테이블 저장시 aspa77 2015.02.27 3284
8572 MSSQL 2000에서 DTS 관련 문의 드립니다. akfflr 2015.02.26 3588
8571 카테고리면 한개씩 가져오기 [2] 정명철 2015.02.26 4099
8570 뷰(view)안에서 set 옵션 공유맨 2015.02.26 3381
8569 sql db를 삭제 했다가 복원했습니다. 아싸라비아콜롬비아 2015.02.26 2422
8568 링크드서버와 트리거 [3] 발코딩 2015.02.26 5981
8567 다중 LEFT OUTER JOIN 에러가 뜹니다 [3] park87 2015.02.26 4559
8566 select 로 출력시 데이터 타입 변환 어떻게 하나요? [2] park87 2015.02.25 2992
» 기간별 평균값을 구하는 쿼리 질문드립니다. [2] 비폭력무저항 2015.02.25 3110
8564 case when 에서 NULL을 제대로 처리 못하는듯 합니다 [2] park87 2015.02.25 3057





XE Login