1 a
1 b
2 b
2 c
3 c
3 d
이 데이터를
1 a 2 b 1
2 b 2 c 1
3 c 2 d 1
이렇게 정리할 수 있는 쿼리문이 있을까요?
결과의 컬럼 개수가 2개 3개로 들쭉날쭉 하네요. 이런 결과는 절대 나올 수 없습니다. 원하시는게 뭔지 말로 설명하시는게 어떨까요? 왜 "1 b 1"이 아니라 "b 1"이죠?
출력테이블의 모양은 본문 상으로는 정확치 않아보이지만, 어떤 의도인지는 알 것 같아서요.
테이블명을 distribute, 왼쪽컬럼을 num, 우측 컬럼을 grade 라 하면
select num, grade, count(*) from distribute group by num, grade;
하면
1 a 2 1 b 1
2 b 2 2 c 1
3 c 2 3 d 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]
결과의 컬럼 개수가 2개 3개로 들쭉날쭉 하네요.
결과의 컬럼 개수가 2개 3개로 들쭉날쭉 하네요. 이런 결과는 절대 나올 수 없습니다.
원하시는게 뭔지 말로 설명하시는게 어떨까요?
왜 "1 b 1"이 아니라 "b 1"이죠?
그냥 group by 를 쓰셔서 보시면 되지 않을까요.
출력테이블의 모양은 본문 상으로는 정확치 않아보이지만,
어떤 의도인지는 알 것 같아서요.
테이블명을 distribute,
왼쪽컬럼을 num, 우측 컬럼을 grade 라 하면
select num, grade, count(*) from distribute group by num, grade;
하면
1 a 2
1 b 1
2 b 2
2 c 1
3 c 2
3 d 1
이렇게 결과를 얻으실 수 있습니다.
댓글 달기