··조회 12,718
[re] 또 질문드립니다.
>결과는
> league / team / name / hit(안타) / abi(타수) /....
>==================================================
> a리그 KBS 강호동 9 5
>
위 결과와 같이 나오게 하려면 아래 쿼리를 쓰면 됩니다.
SELECT league,team,name,sum(hit) as hit,sum(abi) as abi
FROM 테이블명
WHERE name = '강호동'
GROUP BY name
sum 이 해당 필드의 합을 구하는 함수입니다.
GROUP BY 는 name 필드로 결과를 묶어서 보겠다는 뜻이구요.
as 는 안쓰셔도 되는 거지만... 결과출력시 sum(hit) 으로 안나오고
그냥 hit 로 나오게 하는 필드 애칭입니다.
위 쿼리를 간단히 설명하면 name 필드의 데이터가 '강호동' 인 라인을
그룹으로 묶어서 보여달라는 쿼리문입니다.
해보시고 잘 안되면 덧글 달아주세요.
> league / team / name / hit(안타) / abi(타수) /....
>==================================================
> a리그 KBS 강호동 9 5
>
위 결과와 같이 나오게 하려면 아래 쿼리를 쓰면 됩니다.
SELECT league,team,name,sum(hit) as hit,sum(abi) as abi
FROM 테이블명
WHERE name = '강호동'
GROUP BY name
sum 이 해당 필드의 합을 구하는 함수입니다.
GROUP BY 는 name 필드로 결과를 묶어서 보겠다는 뜻이구요.
as 는 안쓰셔도 되는 거지만... 결과출력시 sum(hit) 으로 안나오고
그냥 hit 로 나오게 하는 필드 애칭입니다.
위 쿼리를 간단히 설명하면 name 필드의 데이터가 '강호동' 인 라인을
그룹으로 묶어서 보여달라는 쿼리문입니다.
해보시고 잘 안되면 덧글 달아주세요.
댓글 6
두가지 문제가 생기네요.
첫째.
누적타율을 계산할때는 일별 타율의 합이나 일별 타율의 평균값이 아닌 누적안타/누적타수가 되어야 하잖아요..
$s_hra=number_format($array[s_hit]/$array[s_ab],3); //누적타율계산
$s_lba=number_format(($array[s_hit]+$array[s_bb])/$array[s_abi],3);
$s_bra=number_format(($array[s_b1]+2*$array[s_b2]+3*$array[s_b3]+4*$array[s_hr])/$array[s_ab],3); //누적장타율
이러케 했는데 계산은 잘되어서 나오는데요 그 계산식이 있는 부분이 에러라고 뜨네요
target=_blank>http://www.yagootj.com/record/list_2.php
이부분은 어케 해결해야 할지...
두번째는요.. name으로 그룹화 시키면 동명이인에 대해서는 어케 해야 하는지요. 즉 다른팀에도 강호동이라는 사람이 있으면 어떻게 구분을해줘야 하는지요
GROUP BY 뒤에 여러필드값을 넣어줘야 하나요?
이두가지 좀 부탁드릴께요..
매번 너무 감사합니다
Division by zero ... 0 으로 나누려해서 나는 에러입니다.
분모가 0 인 경우는 나누지 않으면 되겠죠.
어차피 누적타수가 0 이면 경기를 안했다는 거니까..
두번째는 WHERE 절과 GROUP BY 절을 둘다
수정해야겠네요. 그런데 조건을 이름으로 하는것
보다는 주민번호 같이 유니크한 필드를 두고
주민번호로 조회하면 편할텐데요.
두번짼 방법이 주민번호류의 것이 아니면 방법이 없나요?
현재상태로는 insert.php에서 회원 이름별로 코드번호 부여하는 수밖에는 없겠는데.. 이건.. 너무 노가다라요... ^.^
어째든 뭉실님 너무너무 감사합니다. 덕분에 제마음에 쏙드는 기록실을 만들었씁니다..