복붙노트

[SQL] 여러 열에 의해 그룹을 사용하여

SQL

여러 열에 의해 그룹을 사용하여

나는 GROUP BY x의 점을 이해

하지만 어떻게 GROUP BY는 Y 작업을 X 않으며, 그것은 무엇을 의미 하는가?

해결법

  1. ==============================

    1.X기로 수단은 한 그룹 X에 대해 동일한 값을 가진 모든 사람을 넣어.

    X기로 수단은 한 그룹 X에 대해 동일한 값을 가진 모든 사람을 넣어.

    저자는 그룹 X, Y 수단은 한 그룹의 두 X 및 Y에 대해 동일한 값을 가진 모든 사람을 넣어.

    예를 사용하여 설명하기 위해 우리는 대학에서 어떤 주제에 참석하는 사람들과 관련, 다음과 같은 테이블이 있다고 가정 해 봅시다 :

    Table: Subject_Selection
    
    Subject   Semester   Attendee
    ---------------------------------
    ITB001    1          John
    ITB001    1          Bob
    ITB001    1          Mickey
    ITB001    2          Jenny
    ITB001    2          James
    MKB114    1          John
    MKB114    1          Erica
    

    당신은 단지 대상 열에 의해 그룹을 사용하는 경우; 말하다:

    select Subject, Count(*)
    from Subject_Selection
    group by Subject
    

    당신은 같은 것을 얻을 것이다 :

    Subject    Count
    ------------------------------
    ITB001     5
    MKB114     2
    

    ... MKB114 5 개 ITB001에 대한 항목 및 2가 있기 때문에

    우리는 두 개의 열로 그룹 인 경우 :

    select Subject, Semester, Count(*)
    from Subject_Selection
    group by Subject, Semester
    

    우리는이를 얻을 것입니다 :

    Subject    Semester   Count
    ------------------------------
    ITB001     1          3
    ITB001     2          2
    MKB114     1          2
    

    우리가 두 개의 열로 그룹은 그룹 그들 때문에 같은 주제와 학기 가진 사람 모두가 같은 그룹에, 그리고 모든 집계 기능 (카운트 계산하는 것으로, 합계, 평균 등 "말을 할 때, 때문이다 )이 그룹 "의 각. MKB114을하는 사람들이 학기 1에 2. 두, 그래서이 예에서, 이것은 우리가 그들을 계산하는 경우, 학기 1 ITB001을하는 세 사람이있다, 사실에 의해 입증되지 않으며, 두 학기에 그 일을 2 학기 (그룹 "MKB114 학기 2"로 데이터없이 끼워)에 대한 행

    희망 의미가있다.

  2. ==============================

    2.절 BY 그룹은 하나 이상의 열로 그룹 집계 기능과 함께 결과 집합을 사용한다. 예컨대 :

    절 BY 그룹은 하나 이상의 열로 그룹 집계 기능과 함께 결과 집합을 사용한다. 예컨대 :

    SELECT column_name, aggregate_function(column_name)
    FROM table_name
    WHERE column_name operator value
    GROUP BY column_name;
    

    이 순서를 기억 :

    당신이 집계 함수를 사용하고, 이것은 그들이 설정해야하는 순서 인 경우, 그렇지 않으면 오류를 얻을 수 있습니다,이 모두를 사용할 수 있습니다.

    집계 함수는 다음과 같습니다

  3. from https://stackoverflow.com/questions/2421388/using-group-by-on-multiple-columns by cc-by-sa and MIT license