테스트 사이트 - 개발 중인 베타 버전입니다

쿼리문에서 group by로 묶을때요~~ 채택완료

소수리꼬 7년 전 조회 5,422

</p>

<p>$row = sql_query(" select AVG(wr_1) as avg, date  from $aaa_table mb_id='$member[mb_id] group by wr_datetime ");</p>

<p>

 

상기와 같이 날짜로 그룹바이 해서 묶어서 리스트로 출력할때요~~

sum은 더해서 나오는거 알겠는데요..

date는 그룹에서 최고 마지막껄가져오나요? 아님 최초의 것을 가져오나요?

댓글을 작성하려면 로그인이 필요합니다.

답변 6개

채택된 답변
+20 포인트
잉끼s
7년 전

select AVG(wr_1) as avg,  substr(wr_datetime , 1, 10) date  from $aaa_table mb_id='$member[mb_id] group by date 

 

이렇게 하시면 될 것 같습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변주시분 대단히 감사드립니다.

질문에 혼동이 잇었나 보네요..

date는 임의로 그냥 쓰다가 넣은건데요..ㅠㅠ

단지 궁금한건 그룹으로 묶엇을때 그 그룹안의 일정 필드의 값들이 달랐을때

</p>

<p><font face="Courier New">$result</font> <code class="php plain">= sql_query(</code><code class="php string">" select AVG(wr_1) as avg, aaa  from $aaa_table where mb_id='$member[mb_id] group by wr_datetime "</code><code class="php plain">);</code></p>

<p> </p>

<p>while($row=sql_fetch_array($result)){  </p>

<p>  echo $row['<font face="Courier New">avg</font>'];</p>

<p>  echo $row['aaa'];</p>

<p>}</p>

<p>

 

이럴경우..

$row['aaa']; 값을 가져올때 그룹으로 묶여있으니 그 group의 처음값인지 아니면 최종값인지 그게 알고 싶은 거 예요..ㅠㅠㅠ

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

잉끼s
7년 전
처음값이요.
소수리꼬
7년 전
감사감사합니다...첨 값이군요..

댓글을 작성하려면 로그인이 필요합니다.

플래토
7년 전

위와 같이 하시면

초단위로 묶입니다.

 

group by date(wr_datetime) 

으로 하시면 일별로 묶입니다.

 

date라는 컬럼이 있다면

date로 묶으시던지

없다면

컬럼에서도

 

select .... , date(wr_datetime) as date

로 표기하셔야죠

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

잉끼s
7년 전

 group by wr_datetime 를 group by date 로 바꿔보세요.

유찬아빠님 말씀대로 wr_datetime는 시간분초 까지 들어가서 group by로 묶을 수 없습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

유찬아빠
7년 전
게시판 테이블에는 date 라는 필드는 없습니다.
소수리꼬
7년 전
wr_datetime 분초까지 넣어서 group로 묶어 사용하고 있는데요?
잉끼s
7년 전
@유찬아빠 질문 쿼리를 보시면 select로 date 라고 가져오길래 커스텀해서 date 만들었는지 알았죠 ㅎ

댓글을 작성하려면 로그인이 필요합니다.

유찬아빠

그리고 쿼리에 where 절이 없네요? 같은 날짜까지만 그룹화 하시려면

where mb_id = '$member[mb_id]' 하시고

group by substring(wr_datetime , 1, 10) 하시면 같은날짜 까지만 그룹화 합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

소수리꼬
7년 전
빠졌네요..
죄송합니다.

제가 궁금한건 그런게 아니구 date를 가져올때 group로 묶엇으면 그 그룹별로 값이 다를 경우 어떤 걸 가져오게 되는지 그게 좀 궁금해요..
유찬아빠
7년 전
같은 date의 레코드는 모두 가져옵니다.

댓글을 작성하려면 로그인이 필요합니다.

유찬아빠

wr_datetime 은 년월일시분초 까지 기록됩니다.

그러므로 그룹으로 묶으면 같은 시각의 초를 집계하는데 이건 효율적이지도 않지만 원하는 결과를 얻지 못 하십니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인