사용중인 DB는 MYSql입니다.

 

정확한 쿼리부탁드려요 ㅜㅜ

데이터량이 많다보니..index설정도 생각해야할거같은데ㅜㅜ

 

1. member 테이블의  attributes

mem_num, mem_id, mem_residentno, mem_state

 

2. product 테이블의  attributes

prod_num,prod_name,prod_price

 

3. order_info 테이블의 attributes

ord_info_num,ord_mem_id,ord_product,ord_message

 

4. order_prod 테이블의 attributes

ord_num, ord_info_num, ord_prod_num

 

테이블과 각 attribute의 관계 :

member.mem_id = order_info.ord_mem_id

order_info.ord_info_num = order_prod.ord_info_num

order_prod.ord_prod_num = product.prod_num

제품명

10대 이하

20대 

30대 

40대 이상 

 제품 1

 ---

 ---

 ---

 ---

 제품 2

 ---

 ---

 ---

 ---

 제품 3

 ---

 ---

 ---

 ---

 

위 와 같은 결과를 얻으려고하는데..

각 연령 별로 제품(상품)들에 대하여 통계를 구하려고합니다...

질의를 어떻게해야 결과가 나올까요...

일주일 내내 이것만 하고있는데...ㅜㅜ join, select 뭘 해봐도 안되서 질문올립니다.

 

===============================================================

select y.prod_hname,t.age10,t.age20,t.age30,t.age40

from ( select ord_prod_num as prod_id,sum(case when (year(now())-1900)-substring(c.mem_residentno,1,2) > 20 then 1 else 0 end) as age10,
                       sum(case when (year(now())-1900)-substring(c.mem_residentno,1,2) between 20 and 29 then 1 else 0 end) as age20,
                       sum(case when (year(now())-1900)-substring(c.mem_residentno,1,2) between 30 and 39 then 1 else 0 end) as age30,
                       sum(case when (year(now())-1900)-substring(c.mem_residentno,1,2) >= 40 then 1 else 0 end) as age40

            from order_prod_list a

            inner join order_Info_list b

            on a.ord_info_num = b.ord_info_num

            inner join member c

            on b.ord_mem_id = c.mem_id

            group by ord_prod_num order by ord_prod_num

           ) as t

 inner join Product as y

 on (t.prod_id = y.prod_num) order by t.prod_id asc

==================================================================

위와 같이 쿼리를 만들어보니 결과는 제대로 나왔으나... 시간이 너무 오래걸립니다. 데이터량이 워낙 많아서...

 

explain 을 사용하여 결과를보니...index를 타지 않는거같은데...

index를 타려면 어떻게해야할까요 ? 그리고 어떻게 인덱스를걸어줘야할지 상세하게 설명부탁드립니다.ㅜ

mysql..

 

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 36248
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 18837
7043 cte를 이용 이중트리구조를 출력하려합니다. [1] gtm100 2013.07.25 5197
7042 MsDtsSrvr.exe 오류가 나네요 곰팡이 2013.07.25 7922
7041 SqlServer 2012 인스탄스 제거 질문드립니다. [2] 힘내라장코치 2013.07.25 5005
7040 mssql 7 desktop 버젼 구할 방법이 없을까요 ? [1] 어둠별빛 2013.07.24 4522
» 쿼리 수정 설명 부탁드립니다. [2] rx프로그래머rx 2013.07.24 4534
7038 키워드 검색을 하는데, 다중 키워드를 and 조건으로 검색하는 경우 [4] 더따뜻한 2013.07.24 7175
7037 데이터의 날짜보다 빠른 모든 6개월 내의 데이터와 조인 질문 [1] 슈팅스타 2013.07.24 4759
7036 해외 호스팅 서버쪽에 SQL2005 서버로 이전 작업 문의드립니다. [2] Larry 2013.07.23 5263
7035 쿼리 고수님들께 문의좀 드립니다. ^^ [2] 남자나무 2013.07.23 5625
7034 mdf 파일 손상히 tail log 백업 방법 [2] Tommy Hilfi 2013.07.23 5536
7033 질문드립니다 [1] 잉잉 2013.07.23 4809
7032 그룹별 곱하기 [1] taz2315 2013.07.23 9138
7031 쿼리 문의드립니다 [1] kyuni01 2013.07.22 4356
7030 커서 문법 질문이 있습니다.(초보) [1] alima 2013.07.22 4994
7029 도와주세요!! MYsql 쿼리입니다.ㅜ [1] rx프로그래머rx 2013.07.22 6225
7028 xlsx 엑셀 파일 (시트당 50만건) 데이터를 MS SQL 2000 또는 2005로 옮기기 [5] Larry 2013.07.22 13377
7027 공백인식 문의입니다. [2] 거저먹네 2013.07.22 6854
7026 [급] 복구 방법 문의 [2] 아레아 2013.07.22 4973
7025 MSSQL 2012에서는 *= 안먹히나요??? [3] 떨거지희 2013.07.22 8587
7024 쿼리 실행계획 확인 부탁드립니다. [1] 꿀덩이 2013.07.22 4795





XE Login