programing tip

여러 열에서 그룹화 사용

itbloger 2020. 9. 28. 08:23
반응형

여러 열에서 그룹화 사용


나는 요점을 이해 GROUP BY x

하지만 GROUP BY x, y작동 원리는 무엇이며 어떤 의미일까요?


Group By XX에 대해 동일한 값을 가진 모든 것을 하나의 그룹에 넣는 것을 의미 합니다.

Group By X, YX와 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

group by제목 열에 만 사용하는 경우; 말하다:

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

다음과 같은 내용이 표시됩니다.

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

... ITB001에 대해 5 개의 항목이 있고 MKB114에 대해 2 개가 있기 때문입니다.

group by두 개의 열에 있다면 :

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

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

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

이는 두 개의 열로 그룹화 할 때 "동일한 주제와 학기를 가진 모든 항목이 동일한 그룹에 속하도록 그룹화 한 다음 모든 집계 함수 (Count, Sum, Average 등) 를 계산하기 때문입니다 . ) 각 그룹에 대해 " . 이 예에서, 사람이 1 학기에 ITB001을하고 2 명이 2 학기에 ITB001을하고 있다는 사실에 의해 증명됩니다. MKB114를 하는 두 사람은 모두 1 학기에 있습니다. 2 학기 행 ( "MKB114, 2 학기"그룹에 해당하는 데이터 없음)

이해가 되길 바랍니다.


GROUP BY절은 집계 함수와 함께 사용되어 결과 집합을 하나 이상의 열로 그룹화합니다. 예 :

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

다음 순서를 기억하십시오.

1) SELECT (데이터베이스에서 데이터를 선택하는 데 사용됨)

2) FROM (절은 테이블을 나열하는 데 사용됨)

3) WHERE (절은 레코드를 필터링하는 데 사용됨)

4) GROUP BY (SELECT 문에서 절을 사용하여 여러 레코드에서 데이터를 수집하고 결과를 하나 이상의 열로 그룹화 할 수 있음)

5) HAVING (절은 GROUP BY 절과 함께 사용되어 반환 된 행 그룹을 조건이 TRUE 인 그룹으로 만 제한합니다.)

6) ORDER BY (키워드는 결과 집합을 정렬하는 데 사용됨)

집계 함수를 사용하는 경우이 모든 것을 사용할 수 있으며 이것이 설정해야하는 순서입니다. 그렇지 않으면 오류가 발생할 수 있습니다.

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

MIN은 주어진 열에서 가장 작은 값을 반환합니다.

SUM은 주어진 열에있는 숫자 값의 합계를 반환합니다.

AVG는 주어진 열의 평균 값을 반환합니다.

COUNT는 주어진 열의 총 값 수를 반환합니다.

COUNT(*) returns the number of rows in a table

참고URL : https://stackoverflow.com/questions/2421388/using-group-by-on-multiple-columns

반응형