sql 좀 도와주세요 ㅠ..ㅠ... 정보
sql 좀 도와주세요 ㅠ..ㅠ...본문
어떤 회원의 포인트를 앞에서 부터 20개만 sum 하려면 어떻게 해야 할가요??? ㅠ..ㅠ...
$sql = "select sum(po_point) as sum_point from $g4[point_table] where mb_id = '$stx' ... ";
요기에서 막혀서...ㅠ..ㅠ...
$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 ) AS sum_point FROM g4_point WHERE mb_id = '$stx' ORDER BY po_id DESC LIMIT 0 , 20
이거 아닌가요?
"앞에서"라는게 가장 먼저 적립된 걸 말씀하시는 건지...
제가 이해를 잘못했나요?
가장 먼저 적립된거 부터인데요, 이렇게 하면 전체 sum이 나옵니다.
limit는 출력 record의 갯수를 정의하쟎아요. ㅠ..ㅠ...
limit는 출력 record의 갯수를 정의하쟎아요. ㅠ..ㅠ...
앗 그러네요..ㅡㅡ;
갑자기 왜 저걸..ㅡㅡ;
갑자기 왜 저걸..ㅡㅡ;
point_list.php를 수정하구 이써요.
아 제가 답글 달은 거에 대한 한탄이었습니다..ㅡㅡ;
결국 for문으로 하시는 방법밖에 없을 듯 한데요?
제 짧은 실력으론 안돼서...
다른 분께 패쓰..ㅡㅡ;;;;;
제 짧은 실력으론 안돼서...
다른 분께 패쓰..ㅡㅡ;;;;;
for로 하기에는 traffic이... ㅠ..ㅠ...

이런 식으로 이중쿼리문을 쓰면 될 것입니다. (테스트는 안 해봤어요..)
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
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
sub query를 안쓰구 할 방법을 찾는건데 mysql 4.0.x에서 가능한 버젼은 못 만들겠네요.
그냥 sub query를 해야 하겠네요. ㅠ..ㅠ...
그냥 sub query를 해야 하겠네요. ㅠ..ㅠ...

order by 에 날자를 sort하면 안될까요??
걍 짭은 생각 --;
걍 짭은 생각 --;
20개의 record에 대한 sum을 할 수 없어요 ㅠ..ㅠ...
서브쿼리가 아니면 어려울듯합니다.
그러나 이 방법은 어떨런지요.
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;
그러나 이 방법은 어떨런지요.
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;
그냥 sub query로 했어요 ㅠ..ㅠ...