메뉴 건너뛰기

조회 수 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)

List of Articles
번호 제목 날짜 조회 수
46 MySQL ORDER BY 조건별 필드 및 ASC DESC 2019.01.08 4556
45 MySQL 중복 데이터 찾아서 삭제하기 2019.01.11 1996
44 중복데이터 하나만 빼고 삭제 2019.01.11 3225
43 한글정렬 order by 2019.02.19 2505
42 mariaDB 백업 쉘 스크립트 2019.03.05 1319
41 [MySQL] 세로열을 가로열로 출력하기 2019.03.05 2184
40 이벤트 스케줄러 등록하기 file 2020.06.29 354
39 UPDATE ~ CASE 문을 사용한 조건별 업데이트 file 2020.07.28 1608
38 하나의 쿼리로 여러 테이블의 데이터 삭제 file 2020.07.28 985
37 엑셀로 되어있는 부분 db로 import하는 방법 2020.07.28 278
36 서로 다른 결과를 한줄로 합쳐서 보여줘야 할 때(GROUP_CONCAT) file 2020.07.28 787
35 일반적인 오류를 해결하는 유용한 정보들 file 2020.11.23 3996
34 MySQL 암호화 방법 2020.11.25 416
33 [mysql,mariaDB] 컬럼 암호화, 복호화 2020.11.25 837
32 column의 정보 중에서 column 설명(column_comment) 2021.03.26 184
31 BEGIN, COMMIT, ROLLBACK 2021.03.26 373
30 테이블, 레코드 복사 2021.03.26 216
29 mysql 포트 바꾸기, 외부에서 접속하기 2021.03.26 5196
28 mysqlbinlog (mysql 백업, 로그남기기) 2021.03.26 256
» group by, distinct, count 를 이용한 겹치지 않는것의 개수 2021.03.26 320
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved