아하
생활

생활꿀팁

호기로운진도개160
호기로운진도개160

sql 공부중인데 group by의 개념이 궁금해요

select co_cd, count(co_cd)

이런식으로 쓰고 뒤에

group by co_cd하면 개수가 제대로 나오는데

group by co_cd, xxxx 처럼 다른게 더 나오면 개수가 안세어지더라구요 ㅠㅠ

55글자 더 채워주세요.
4개의 답변이 있어요!
  • 팔팔한칼새6
    팔팔한칼새6

    group by라는게 group by 뒤의 컬럼들을 대표로 하여 무언가를 한다는 의미로 해석 하시면 됩니다.

    따라서 a,b,c 컬럼이 있는 테이블이 있다고 가정 했을 때

    select a, b, count(1), sum(c) from table group by a, b

    이런 식으로 할 수도 있겠네요

    해석하자면 a값과 b값이 같은 애들을 그룹으로 묶어서(group by) 개수와 c의 합을 선택할 것이다(select)

    그럼 결과가 아래 처럼

    즉, group by, 말 그대로 데이터 중 같은 것들을 그룹으로 묶는다.

    select co_cd, count(cocd) group by co_cd

    co_cd가 같은 것들의 개수 를 구한다.

    select cocd, sum(cocd) group by co_cd

    co_cd가 같은 것들의 colum 값을 더한다.

    이해가 되셨을까요? 뒤에 co_cd 외에 다른 것들을 썼으면 그 묶을 그룹들을

    select 절에 동일하게 명시해주어야 하는데 없어서 나는 오류입니다.


  •   

     커버 사진 수정지식프로필 편집

    Lv.

    6

    지식파워 1045.1?

    soundbar 

    답변자 인증 뱃지

    프로그래밍

    0

    팔로워

     0팔로잉

     답변 대기 중인 질문의 답변은 본인과 질문자에게만 공개됩니다.

     자바개발자가 되려면 어떻게 해야되나요?

    안녕하세요.

    프로그래밍은 원래 혼자서 독학해야 하는 직종입니다. 대부분의 모르는 것들은 구글에 검색하면 다 나옵니다. 혼자서 독학하기에 좋은 프로그래밍 인강 사이트는 유료로 한다면 인프런 이라는 사이트가 있고 일단 맛보기라도 먼저 해보고 싶으시다면 생활코딩이라는 사이트를 접속하셔서 한 번 영상 훑어보시는 것도 좋습니다.

    시작하기 좋은 프로그래밍언어는 nodejs 혹은 javascript, python 등이 있습니다. 만약 앱개발을 원하신다면 무조건 자바를 하셔야 합니다. 안드로이드가 자바기반으로 되어 있으며 코틀린 언어를 사용하셔도 됩니다.

    현업에서는 C언어를 거의 사용하지 않습니다. 파이썬을 사용하는 부서는 있으며 주로 자바나 자바스크립트 nodejs 를 사용하는 부서가 가장 많습니다.

    그 외의 프로그래밍이라면 html, css, javascript 등과 같은 것은 https://w3schools.com 에서도 충분히 학습하실 수 있습니다.

  • group by 다음에 나오는 컬럼 정보는 묶음의 대상입니다. 100명을 성별로 묶으면 남자 50, 여자50명이 되고 성별, 나이로 묶으면 남자어른 25, 남자아이 25, 여자어른 30, 여자아이 20 과 같이 어떻게 묶느냐에 따라 결과가 달라지겠죠. 묶고 나서 쓸 수 있는 기능은 count와 같이 몇개냐? max는 제일 큰 것, min은 제일 작은 것 등을 주로 사용합니다.

  • 안녕하세요. 아하(a-ha) 프로그래밍 지식 답변자 입니다.

    SQL 중 GROUP BY의 개념이 궁금하시다고 질문을 주셨네요. GROUP BY의 경우 콤마(,) 구분자로 여러 그룹 단위로 집계를 가능하게 해줍니다.

    따라서 group by co_cd, xxxx 라고 했을 경우 co_cd 먼저 그룹을 지어준 후 xxxx로 그룹을 또 지어주게 됩니다. 그러므로 다른게 더 나오는 이유 입니다.