sql 좀 도와주세요 ㅠ..ㅠ... > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

sql 좀 도와주세요 ㅠ..ㅠ... 정보

sql 좀 도와주세요 ㅠ..ㅠ...

본문

어떤 회원의 포인트를 앞에서 부터 20개만 sum 하려면 어떻게 해야 할가요??? ㅠ..ㅠ...

$sql = "select sum(po_point) as sum_point from $g4[point_table] where mb_id = '$stx' ... ";

요기에서 막혀서...ㅠ..ㅠ...

댓글 전체

앞에서부터 20개라시면...

SELECT sum( po_point ) AS sum_point FROM g4_point WHERE mb_id = '$stx' ORDER BY po_id DESC LIMIT 0 , 20

이거 아닌가요?

"앞에서"라는게 가장 먼저 적립된 걸 말씀하시는 건지...

제가 이해를 잘못했나요?
이런 식으로 이중쿼리문을 쓰면 될 것입니다. (테스트는 안 해봤어요..)

select sum(po_point) from (select po_point from $g4[point_table] where mb_id = '$stx' order by po_id desc limit 20) as derivative

괄호 안에 최근 20개를 불러들인 파생테이블을 만들고, 그 결과의 sum을 구하는 방식으로 이해하시면 될 것 같네요. 저도 비슷하게 최근 6개 자료 중에 가장 큰 것을 고르라고 했더니 자꾸 전체중에서 가장 큰 값을 찾길래 고민하다가 해결했던 경험이 있네요. ^^
http://bomool.net/bbs/board.php?bo_table=bo0105&wr_id=8
서브쿼리가 아니면 어려울듯합니다.

그러나 이 방법은 어떨런지요.

set @n := 0;set @pp := 0;select po_point, @pp := @pp + po_point, @n := @n+1 from g4_point where mb_id = '$stx' and @n < 20;
전체 202 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT