특정 필드에서 큰 값 2개 혹은 3개의 합을 구하려고 합니다. 일단 검색은 아래와 같이 검색은 하겠는데 쿼리 한방으로 합을 구할수 없을까요?
select aCPU from resource order by aCPU DESC limit 2 ;
select sum(aCPU) from resource order by aCPU DESC limit 2 ;
하면 안됩니까? mysql에선 잘 되는데요;;
----http://linu.sarang.net, http://wbhacker.tistory.com
select sum(aCPU) from resource order by aCPU DESC limit 2 ; 하면 안됩니까? mysql에선 잘 되는데요;;
위와 같은 쿼리를 이용하면 해당하는 필드의 전체 레코드 합이 나옵니다. ㅡㅡ; 또한 지금 가지고 있는 디비 서버가 mysql 4.0 이기 때문에 서브 쿼리가 지원되지 않습니다. 서브 쿼리가 지원된다면 간단히 처리 할텐데 말이죠. 아래와 같이...
select sum(cpu) from (select cpu from resource order by cpu desc limit 2) as foo;
@변수를 사용하면 조금 될 듯 하네요.
select @no2 := 0 as no2; select no,@no2 := (ifnull(@no2,0) + no) as no1 from user order by no desc limit 2;
2개의 row중 row,col = 2,2 부분이 합으로 나오는 군요;;
select @cpu2 := 0 as cpu2; select cpu, @cpu2 := (ifnull(@cpu2,0) + cpu) as cpu2 from resource order by cpu desc limit 2;
가 될려나? 도움되셨길.
참고 사이트 : http://dev.mysql.com/doc/mysql/en/Arithmetic_functions.html
음. 이런 방법이 있었군요. 참고하겠습니다. 혹시 쿼리 한방에 깔끔하게 하는 방법은 없을지...좀 찾아 봐야 겠군요.
어쨌든 감사합니다!
제일 큰 값 2~3개가 아니라 특정 범위라면
SELECT CASE WHEN aCPU BETWEEN 0 AND 0.5 THEN 'A' WHEN aCPU BETWEEN 0.51 AND 1 THEN 'B' END AS level, SUM(aCPU) FROM resource GROUP BY 1
대략 이런 방법도 가능할텐데요.. 큰것 순서대로 구해야되기때문에 안되겠네요
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
Re: 쿼리문에서 결과의 합 구하기.
하면 안됩니까? mysql에선 잘 되는데요;;
----
http://linu.sarang.net, http://wbhacker.tistory.com
Re: 쿼리문에서 결과의 합 구하기.
위와 같은 쿼리를 이용하면 해당하는 필드의 전체 레코드 합이 나옵니다. ㅡㅡ; 또한 지금 가지고 있는 디비 서버가 mysql 4.0 이기 때문에 서브 쿼리가 지원되지 않습니다. 서브 쿼리가 지원된다면 간단히 처리 할텐데 말이죠. 아래와 같이...
Re: 쿼리문에서 결과의 합 구하기.
@변수를 사용하면 조금 될 듯 하네요.
2개의 row중 row,col = 2,2 부분이 합으로 나오는 군요;;
가 될려나? 도움되셨길.
참고 사이트 : http://dev.mysql.com/doc/mysql/en/Arithmetic_functions.html
----
http://linu.sarang.net, http://wbhacker.tistory.com
음. 이런 방법이 있었군요. 참고하겠습니다. 혹시 쿼리 한방에 깔끔하게
음. 이런 방법이 있었군요. 참고하겠습니다. 혹시 쿼리 한방에 깔끔하게 하는 방법은 없을지...좀 찾아 봐야 겠군요.
어쨌든 감사합니다!
제일 큰 값 2~3개가 아니라 특정 범위라면[code:1]SELE
제일 큰 값 2~3개가 아니라 특정 범위라면
대략 이런 방법도 가능할텐데요.. 큰것 순서대로 구해야되기때문에 안되겠네요
댓글 달기