오늘은 대한입니다.
sun's longitude:299 41 8.67 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  

질문과 답변 게시판입니다.

현재 실시간으로 이곳 서버의 설정파일(몇개)를 보여주고 있습니다.
서버의 설정내용에 관한 질문은 먼저 이곳 서버의 설정내용을 참고하시길 바랍니다.

[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
1689 번 글의 답장글: Re: mysql 그룹함수에 대해..
글쓴이: 산이 [홈페이지] 글쓴날: 2003년 09월 30일 02:58:27 화(새벽) 조회: 808

[강용]님이 남기신 글:

>수고 많으십니다.
>현재 저는 mysql 3.23.41을 사용하고 있습니다.
>그룹함수를 사용할경우 좀이해가 않되서 조언
구합니다.
>
>select name,price from 터이블 having price > avg(price)*0.5;
>와
>select name,price from 테이블 where prce > 직접구한상수;
>위 두 결과가 다른게 나타나네요 직접 계산을 해봐도
>평균의 반보다 높은 가격을 갖는 칼럼이 존재해도
>하나 정도만 구해지니.. 조언 부탁드립니다..
 

========================================

일단은 후자의 SQL 구문이 맞습니다.

전자에서

>select name,price from 터이블 having price > avg(price)*0.5;

이 SQL 구문은 맞지만 그 내부적 연산을 어떻게 이해해야할지
모르겠네요.

HAVING 구문은 GROUP BY colname 과 같이 특정 컬럼들을 그룹으로
묶었을 경우에 해당됩니다.

즉 그룹으로 묶었을 경우,

 - 그룹에 관련된 통계나(그룹함수
 이용)
 - 그 그룹을 대표하는 컬럼이름과 그 값(대부분 첫번째 값임)

이 HAVING 의 조건이 됩니다.

그런데 위의 전자의 SQL 구문은 명확하게 GROUP 이 없기 때문에
avg(price) 이 값이 어떻게 내부적으로 결정되어지는 저도
잘모르겠네요.

방금 테스트해 보았는데 역시 avg(price) 이 값은 전체에 대한
평균값도
아니고 해당 레코드의 값도 아닌것만큼은 확실합니다.

결론적으로

전자의 SQL 구문은 명확하지 않은 SQL 구문인것 같네요.

후자와 같이 전체에 대한 평균값을 구하고 SQL 문을 완성하는
것이
좋을 듯 하네요.

 
이전글 : mysql 그룹함수에 대해..
다음글 : php 컴파일시.. 옵션중에 질문..  
 from 61.254.75.40
JS(Redhands)Board 0.4 +@

mysql 그룹함수에 대해.. php 컴파일시.. 옵션중에 질문..
인쇄용 


apache lighttpd linuxchannel.net 
Copyright 1997-2026. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds