ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MySQL - SELECT(2주차)
    DB 2023. 6. 2. 14:35
    728x90

    수업내용

    • group by
    • order by

     

    group by

    SELECT
    [테이블 컬럼 ( 필드 ) ], [테이블 컬럼 ( 필드 )  ], ...
    FROM [TABLE 명]
    GROUP BY [테이블 컬럼 (필드)], ...

    group by 를 해주면, 해당 테이블은 지정된 필드로 묶이게 된다.

    그 이후에, 집계함수를 사용하게 되면, 묶인 그룹별로 집계함수가 동작을 한다.

    SELECT name 성씨 FROM users ;

     >> 결과 : name 필드만을 보여준다.










    SELECT name 성씨, count(name) AS `갯수` FROM users ;

    >> 결과 : 그룹없이 단순히 테이블 내의 모든 이름의 count를 진행
                     이** 은 이전의 결과에 맨 위에 있던게 단순히 나온 것.



    SELECT name 성씨, count(name) AS `갯수` FROM users GROUP BY name;

    >> 결과 : 동일한 이름으로 묶였기 때문에, 성씨별로 묶이고,
                     그 다음 성씨별로 count를 수행한 결과이다.






     

    order by

    SELECT
    [테이블 컬럼 ( 필드 ) ], [테이블 컬럼 ( 필드 )  ], ...
    FROM [TABLE 명]
    WHERE 절
    GROUP BY 절
    ...
    ORDER BY [테이블 컬럼 (필드)] (DESC, ASC), ...

    order by는 테이블 검색 후 결과를 보여주기 가장 마지막에 검색 테이블의 정렬을 도와준다.

    DESC : 내림차순 / ASC(default) : 오름차순

    SELECT name 성씨, count(name) AS `갯수` FROM users GROUP BY name;











    SELECT name, count(*) FROM users GROUP BY name ORDER BY count(*) ;

    >> 결과 : group by 까지 수행된 결과에서 count(*) 필드를 기준으로 오름차순 정렬된 모습







     

    'DB' 카테고리의 다른 글

    index - mysql  (0) 2023.08.13
    MySQL - SELECT(4주차)  (0) 2023.06.02
    MySQL - SELECT(3주차)  (0) 2023.06.02
    MySQL - SELECT(1주차)  (0) 2023.06.01
Designed by Tistory.