ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQL - 2일차 연산자 / 범주 / 정렬
    SQL 정리/사전캠프 2024. 3. 19. 14:14

    데이터간의 합산(열 기준)

    select column1 , column2 , column1 + column2 as column3
    from table

     

    1, 2 가 표시되고 이 둘의 합산이 3번째 열에 나오게 된다.

     

     

    SUM / AVG

    select avg(column1) column1A
    sum(column2) column2A
    from table

     

     

    COUNT

    select count(1) column1, count(distinct column2) count_of_column3
    from table

    열 내의 데이터 갯수를 세는 작업

    1=* 로 전체의 갯수(칸수)

    distinct, 별개의 갯수(데이터 구별)

     

     

    MIN/MAX

     

    select min(column) min_C , max(column) max_C
    from table

     

     

    이러한 함수들은 대*소문자 구별하지 않는다.

     

     

     

    group by/ select by 는 select, from, where 을 사용 하고 난 뒤 온다!!

     

     

    Group by - 범주화

    select column1, sum(column2) sum_of_column2
    from table
    group by column1

    C1 을 기준으로 C2의 합계를 계산

    단, group by 을 사용하지 않으면 1개의 데이터에 합산되고

    따로 범주를 나눈다면 데이터값에 따라 합산된다.

     

    *참고

    select 을 통해 표시되는 목록을,

    group by를 통해 분류기준을 명령할 수 있다.

     

    select substr(column1, 1, 2) column2, ~~
    ....
    group by substr(column1, 1, 2) column2
    group by 1, 2

     

    위 두가지 group by 방식은 내용 상 동일하다

     

     

    Order by - 정렬

    select column1 , sum (column2) sum_of_column2
    from table
    group by column1
    order by sum(column2) column3

     

    C2의 합으로 정렬 후 C3 기준 오름차순 정렬, 이에 따른 C1 을 표시하라.  

    (내림차순 : desc)

     

     

     

     

    의문점

    ' ' //  " " // , 사용방식

    1일차 글에 답변 달음.

     

     

    select 이후 조건에 따라 산출 된 값이 이름을 정의하지 않으면 오류 발생

    ex) SELECT cuisine_type, max(price) max_of_price, min(price) min_of_price

     

    group by order by 간의 위치 배열도 상관이 있는가?

    실행이 불가능하여 불가능 하다는 사실은 알고 있으나 이에 대한 이유는 자세히 알지 못한다.

    ㄴ 24.04.03. GPT / / 검증필요

        일반적인 경우가 아닌, window함수를 이용하였을 떄 혹은

        subquery사용에 의해 변경 될 수 있음을 시사하고 있다.

    • GROUP BY 절은 데이터를 그룹화하고 집계를 수행하기 때문에 데이터를 그룹화한 후에 정렬을 수행합니다. 따라서 GROUP BY 절은 ORDER BY 절보다 먼저 나와야 합니다.
    • ORDER BY 절은 결과 집합의 정렬을 지정하며, 결과 집합이 생성된 후에 실행됩니다. 따라서 ORDER BY 절은 GROUP BY 절 뒤에 위치할 수 있습니다

    'SQL 정리 > 사전캠프' 카테고리의 다른 글

    5일차 - null값, coalesce, pivot, 시간형식  (2) 2024.03.22
    SQL - 4일차  (0) 2024.03.20
    SQL 3-2일차 / 조건확장, 데이터 타입  (0) 2024.03.20
    SQL - 3일차  (0) 2024.03.19
    SQL - 1일차 기초문/필터링  (0) 2024.03.19
Designed by Tistory.