메뉴 건너뛰기

조회 수 320 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
mysql에서 겹치지 않는 값을 알아내는데는 2가지 정도 방법이 있다.
group by와 distinct인데, 우선 예제를 보자.

+------+----------+
| name | position |
+------+----------+
| a    | aa       |
| a    | bb       |
| a    | cc       |
| b    | aa       |
| b    | dd       |
| c    | ee       |
| c    | ac       |
| d    | ee       |
+------+----------+

위와같은 테이블 testbl 이 있다고 하자. 위의 테이블에 아래와 같은 쿼리를 실행한다면

mysql> select distinct name from testbl;
+------+
| name |
+------+
| a    |
| b    |
| c    |
| d    |
+------+
4 rows in set (0.00 sec)

mysql> select name from testbl group by name;
+------+
| name |
+------+
| a    |
| b    |
| c    |
| d    |
+------+
4 rows in set (0.00 sec)

와 같이 같은 결과가 나온다.

하지만 두가지는 쓰이는 위치가 다른 관계로 count() 시에는, group by는 각각의 개수를, distinct는 겹치지 않는 값들 전체의 개수를 뽑아올수 있게된다.
아래의 결과가 그것이다.

mysql> select name, count(name) from testbl group by name;
+------+-------------+
| name | count(name) |
+------+-------------+
| a    |           3 |
| b    |           2 |
| c    |           2 |
| d    |           1 |
+------+-------------+
4 rows in set (0.00 sec)

mysql> select count(distinct name) from testbl;
+----------------------+
| count(distinct name) |
+----------------------+
|                    4 |
+----------------------+
1 row in set (0.00 sec)

  1. No Image 26Mar
    by
    2021/03/26 Views 304 

    LIMIT 속도 저하

  2. No Image 26Mar
    by
    2021/03/26 Views 181 

    fulltext 관련 글

  3. No Image 26Mar
    by
    2021/03/26 Views 824 

    order by field 와 union, 원하는 대로 정렬 하기

  4. No Image 26Mar
    by
    2021/03/26 Views 225 

    테이블, 컬럼 charset 변경

  5. No Image 26Mar
    by
    2021/03/26 Views 174 

    no exists, not in 을 이용한 조건에 만족하지 않는 것들 구하기, 둘의 차이점

  6. No Image 26Mar
    by
    2021/03/26 Views 698 

    group by로 뽑아온 값중에 가장큰 값(max)의 상태값을 가져오기

  7. No Image 26Mar
    by 조쉬
    2021/03/26 Views 320 

    group by, distinct, count 를 이용한 겹치지 않는것의 개수

  8. No Image 26Mar
    by
    2021/03/26 Views 256 

    mysqlbinlog (mysql 백업, 로그남기기)

  9. No Image 26Mar
    by
    2021/03/26 Views 5196 

    mysql 포트 바꾸기, 외부에서 접속하기

  10. No Image 26Mar
    by
    2021/03/26 Views 216 

    테이블, 레코드 복사

  11. No Image 26Mar
    by
    2021/03/26 Views 373 

    BEGIN, COMMIT, ROLLBACK

  12. No Image 26Mar
    by
    2021/03/26 Views 184 

    column의 정보 중에서 column 설명(column_comment)

  13. No Image 25Nov
    by
    2020/11/25 Views 837 

    [mysql,mariaDB] 컬럼 암호화, 복호화

  14. No Image 25Nov
    by
    2020/11/25 Views 416 

    MySQL 암호화 방법

  15. 일반적인 오류를 해결하는 유용한 정보들

  16. 서로 다른 결과를 한줄로 합쳐서 보여줘야 할 때(GROUP_CONCAT)

  17. No Image 28Jul
    by
    2020/07/28 Views 278 

    엑셀로 되어있는 부분 db로 import하는 방법

  18. 하나의 쿼리로 여러 테이블의 데이터 삭제

  19. UPDATE ~ CASE 문을 사용한 조건별 업데이트

  20. 이벤트 스케줄러 등록하기

Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved