제목 | 통계기간 검색 쿼리에 대한 질문합니다. | ||
---|---|---|---|
글쓴이 | 바다의이무기 | 작성시각 | 2015/12/28 03:45:29 |
|
|||
지금 통계페이지 작업을 하고 있습니다.각 컬럼에 view_date가 있습니다. 이 view_date로 기간 검색을 해서 통계데이터를 뿌려주고 싶습니다.기간 검색을 하면 계속 값이 없다고만 나옵니다. 이것 때문에 3일동안 삽질을 했습니다. between 써서 기간 검색하는건 알겠는데.. 각 테이블에 veiw_date로 기간 검색하는 방법을 모르겠습니다. 통계테이블이나 union쓰지 않고 지금 join한 이쿼리에서 수정하고 싶습니다.어떻게 검색해야 하는지 고수분들의 도움의 절실히 필요합니다. 작성한 쿼리는 다음과 같습니다. select A.* , D.idx as didx , D.view_date , (select sum(view_count) from coupon where company_idx = A.idx) as cp_view_count , (select count(*) as co_count from coupon_put where coupon_idx = didx group by coupon_company_idx) as cp_count , (select sum(view_count) from community_board where company_idx = A.idx) as cm_count , (select sum(view_count) from tmenu_service where company_idx = A.idx) as mu_count from company A left join coupon D on A.idx = D.company_idx where 1=1 and date_format(A.view_date, '%Y-%m-%d') between '2015-12-01 ' and ' 2015-12-28' group by A.company_name, A.view_date order by A.idx desc,A.reg_date desc |
|||
다음글 | 이중포문 관련 질문입니다.(foreach) (2) | ||
이전글 | flexslider 슬라이드에서 youtube 동영상... (1) | ||
당근병아리
/
2015/12/28 06:23:42 /
추천
0
|
바다의이무기
/
2015/12/28 06:46:47 /
추천
0
당근병아리님 답변 감사합니다. 쿼리 붙여넣기를 잘못했나 보네요.. 1. ,가 2개 있는 문제 질문한다고 쿼리 붙여넣기 하다가 생긴 오타 (본 통계쿼리에 문제없음) 2. 단일 date확인 (select * from company where 1=1 and date_format(view_date, '%Y-%m-%d') between '2015-12-01 ' and ' 2015-12-28') 조회 잘 됩니다. 3. aidx A.idx 입니다. 쿼리 수정하다가 질문 글 작성해서 수정중인 쿼리를 붙여넣기 하다가 생긴오류 입니다. 지금 쿼리는 잘 작동됩니다. 근데 쿼리 결과값이 없다고 나와서 문제입니다. 단일 date확인 하면 결과값이 한개 나오는데.. 통계를 구할려면 값이 없다고 나옵니다. '2015-12-01 ' and ' 2015-12-28' 안의 통계니깐 단일 date확인 결과값과 같이 한개가 나와야 정상인데....ㅠㅠ |
뫄뫄잉뿌
/
2015/12/28 10:13:50 /
추천
0
between 절에서 and뒤에 ' 2015-12-28'에 앞에 띄어쓰기 없애고 다시 실행해보세요 ^^ |
바다의이무기
/
2015/12/28 13:22:56 /
추천
0
뫄뫄잉뿌님 답변 갑사합니다.. 님 말씀대로 앞에 띄어쓰기가 문제였던 것 같습니다. php trim()함수로 먼저 공백 없애주니 결과값이 제대로 나옵니다. 공백때문에 3일을 삽질을 했네요..ㅠㅠ |
select A.* , D.idx as didx , D.view_date
, (select sum(view_count) from coupon where company_idx = aidx) as cp_view_count
, (select count(*) as co_count from coupon_put where coupon_idx = didx group by coupon_company_idx) as cp_count
, (select sum(view_count) from community_board where company_idx = aidx) as cm_count
, (select sum(view_count) from tmenu_service where company_idx = aidx) as mu_count
from company A left join coupon D on A.idx = D.company_idx
where 1=1 and date_format(A.view_date, '%Y-%m-%d') between '2015-12-01 ' and ' 2015-12-28'
group by A.company_name, A.view_date order by A.idx desc,A.reg_date desc
1. A.reg_date
>> order by A.idx desc,,A.reg_date desc 2개 있습니다.
2. A.view_date
date가 있는지 확인하시기 바랍니다..
join보다는 단일 table으로 확인하시기 바랍니다.
3. aidx
어느 테이블이고 기간은 어떻게 되는지 확인하시기 바랍니다.