데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

사용중인 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

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

select ord_prod_num,count(*) as cnt

from order_prod_list as opl

where opl.ord_info_num = any ( select ord_info_num

                                                      from order_info_list

                                                      where ord_mem_id = any ( select mem_id from member

                                                                                                   where (year(now())-1900) - substring(mem_residentno,1,2) between 20 and 29

                                                                                                 )

                                                     )

group by ord_prod_num;

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

위와  같이 쿼리를 날려보니 ...

member 테이블로부터 20인 사람들의 mem_id를 모두 가져와서 order_info_list(주문리스트)테이블에있는 ord_mem_id와같은

ord_info_num(주문번호)를 가져왔습니다.

그후에 다시 이 ord_info_num과 order_prod_list 테이블의 ord_info_num과 비교하여 같으면 ord_prod_num(제품번호)를 가져오되,

같은 제품에대해서는 group by를 통하여 그수를 가져왔습니다.

즉 제가 만든쿼리는 각 제품에 대해서 제품이름과 20대가 구입한 각제품의 수를 가져온것인데요...

하...너무 느리고...

또 10대 20대 30대 각각을 product 테이블에 조인해서 결과를 찾자니..기다리는 시간이 멘붕올만큼 길고...ㅜㅜ

 

 

현재 이상황인데요....

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

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

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

 

만들어진 결과를 가지고 이렇게 다타내려고합니다...

제품명

10대 이하

20대 

30대 

40대 이상 

 제품 1

 ---

 ---

 ---

 ---

 제품 2

 ---

 ---

 ---

 ---

 제품 3

 ---

 ---

 ---

 ---

 

빠른 답면 부탁드려요 ㅜㅜ

No. Subject Author Date Views
7032 그룹별 곱하기 [1] taz2315 2013.07.23 9075
7031 쿼리 문의드립니다 [1] kyuni01 2013.07.22 4327
7030 커서 문법 질문이 있습니다.(초보) [1] alima 2013.07.22 4952
» 도와주세요!! MYsql 쿼리입니다.ㅜ [1] rx프로그래머rx 2013.07.22 6178
7028 xlsx 엑셀 파일 (시트당 50만건) 데이터를 MS SQL 2000 또는 2005로 옮기기 [5] Larry 2013.07.22 13263
7027 공백인식 문의입니다. [2] 거저먹네 2013.07.22 6808
7026 [급] 복구 방법 문의 [2] 아레아 2013.07.22 4935
7025 MSSQL 2012에서는 *= 안먹히나요??? [3] 떨거지희 2013.07.22 8308
7024 쿼리 실행계획 확인 부탁드립니다. [1] 꿀덩이 2013.07.22 4752
7023 계층형 게시판에서 정렬순서. 클리티에 2013.07.22 9526
7022 MS SQL 디비 BAK 파일 복원 후, 검색 에러 shout 2013.07.20 5356
7021 짧은 쿼리인데 궁금한 부분이 있어 질문드립니다. [1] 트리플 2013.07.19 4239
7020 ms sql LDF 가 어떤 놈인가요 [2] 홍훈아 2013.07.19 5709
7019 안녕하세요 mssql 에 관해서 질문을 좀 할려고 글을 올립니다. [1] 쿠아앙 2013.07.19 5149
7018 함수 중복사용시 [2] 맨즈밤 2013.07.19 5056
7017 bcp 에 대해 질문 드립니다. [2] 나는짱이야 2013.07.19 5081
7016 간단한 쿼리 질문입니다. [2] 거저먹네 2013.07.18 5236
7015 통계 관련 쿼리 질문 드립니다. [1] BlueSi 2013.07.18 4753
7014 매월 매출데이터조회 ( 재질문드립니다 뇌용량폭발직전ㅠ_ㅠ) [14] MissingYou 2013.07.17 5204
7013 쿼리 질문을 하고 싶어서 이렇게 글을 올립니다. [4] 쿠아앙 2013.07.17 5034





XE Login