테스트 사이트 - 개발 중인 베타 버전입니다

sql 퍼센트 계산하기... 채택완료

밀랍 3년 전 조회 1,779
select a.mb_name, b.mb_id, c.mb_id, count(*) as cnt, 
		group_concat(DISTINCT b.wr_12 separator '||') wr_12b, 
		group_concat(DISTINCT c.wr_12 separator '||') wr_12c, 
		count(DISTINCT b.wr_31) as b_name, 
		count(DISTINCT c.wr_31) as c_name , 
		sum(DISTINCT b.wr_31) as totb, 
		sum(DISTINCT c.wr_31) as totc
          from g5_member a
                   inner join g5_write_csorder b on a.mb_id = b.mb_id
                   inner join g5_write_cscenter c on b.mb_id = c.mb_id</span></pre>

<p><span style="font-size:10pt;">

위 소스에서 현재 출력된 값에서

이렇게 퍼센트를 계산하고 있습니다.

ORDER BY에 퍼센트값을 사용하고 싶어서 그러는데... SQL  문에 어떻게 넣어야 할까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
B
3년 전

마지막에 그대로 추가하면 됩니다.

</p>

<p>        select a.mb_name, b.mb_id, c.mb_id, count(*) as cnt,

        group_concat(DISTINCT b.wr_12 separator '||') wr_12b,

        group_concat(DISTINCT c.wr_12 separator '||') wr_12c,

        count(DISTINCT b.wr_31) as b_name,

        count(DISTINCT c.wr_31) as c_name ,

        sum(DISTINCT b.wr_31) as totb,

        sum(DISTINCT c.wr_31) as totc

          from g5_member a

                   inner join g5_write_csorder b on a.mb_id = b.mb_id

                   inner join g5_write_cscenter c on b.mb_id = c.mb_id</p>

<p>        ORDER BY c.wr_31/b.wr_31 [ASC | DESC]</p>

<p>        -- 굳이 100을 곱해줄 필요까지는 없겠으나</p>

<p>        -- PHP와 같은 값으로 한다면 ROUND(c.wr_31/b.wr_31*100, 1) [ASC | DESC]</p>

<p>        -- 곱하기를 먼저 해주는 방법도 있어요. ROUND(c.wr_31*100/b.wr_31, 1) [ASC | DESC]</p>

<p>        -- 다른 내용은 생략합니다.</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

밀랍
3년 전
감사합니다

댓글을 작성하려면 로그인이 필요합니다.

	sum(DISTINCT b.wr_31) as totb, 
	sum(DISTINCT c.wr_31) as totc

 

합계를 구할 때는 DISTINCT 를 빼야겠네요.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인