개발 Q&A

제목 mysql 통계 쿼리 질문입니다. (서브쿼리에서 count(*)한결과를 다시 sum()으로 합하고 싶습니다.)
글쓴이 바다의이무기 작성시각 2015/12/23 08:51:04
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 13002   RSS

지금 통계 페이지 작업하고 있습니다. 맨 처음 사용자 정보를 찾고 서브쿼리로 coupon 개수를  count(*) 해서  몇개인지 가져왔습니다.  그런데 이걸 또 sum으로 한 사용자가 총 몇개 쿠폰을 사용했는지 알아야 해서 count(*)한걸 sum()을 사용해서 더해서 통계를 구해야 하는데 이걸 어떻게 해야 할까요?? union인가 그걸 사용해야 하나요?? 아니면 서브쿼리에서 join을 줘야 하나요?? 어떻게 해결 할지 모르겠습니다. DB 고수 분들의 가르침이 필요합니다.

 다음글 방문자수와 방문자 정보 (3)
 이전글 fulltext 검색 결과를... (4)

댓글

kaido / 2015/12/23 08:57:57 / 추천 0

대략적으로 서브쿼리 2개  그룹바이 1개 이면 해결 날것 같습니다.

 

서브쿼리에는 2가지 사용 방법이 있고, 그룹바이는 2가지 효과가 있습니다.

 

바다의이무기님이 충분히 해결 하실 수 있을 거라 생각 들어서 쿼리는 적지 않겠습니다.

 

 

당근병아리 / 2015/12/23 14:28:28 / 추천 0

주기적으로 통계수치가 필요하며 직접  DATA 테이블로 통계내는 것보다는

통계테이블을 생성하여 row하는 것이 좋습니다.

DATA테이블 로 일정기간 schedule이나 tigger 로

통계테이블로 산출하여 값을 집계하는 것이 좋습니다.

그러면 union이나 sub query 문제도 사라집니다.

 

 .

 

 

바다의이무기 / 2015/12/25 10:45:39 / 추천 0

Kaido님, 당근병아리님 두 분 다 답변 감사합니다. 당근병아리님 통계 테이블 생성해서 fow하는게  더 좋을 까요?? 회원(소상공) 홈페이지에 얼마나 접속 했는지 그리고  메뉴를 무엇을 조회해 봤는지 이벤트가 있으면 그 이벤트 조회와 참여는 얼마나 했는지  통계작업 을 해서  회원에게 뿌려줄려고 합니다.