[MySQL] 중복값 갯수와 각각의 값 구하기
MySQL 에서 테이블에 중복된 값들의 갯수와 각각의 값을 찾아보는 쿼리입니다.
MySQL 쿼리
SELECT COUNT(컬럼A) AS cnt , 컬럼A FROM 테이블명
{조건구문}
Group by 컬럼A
HAVING COUNT(컬럼A) > 1
예시를 위해 아래와 같은 테이블이 있다고 가정하고( 테이블 이름은 carts 로 하겠습니다. ), 2번이상 구입한 사람의 이름과 구입횟수를 구해보는 쿼리를 만들어보겠습니다.
예시 테이블 (carts)
id | name | products | date |
---|---|---|---|
1 | 민준 | 사과 | 2019-01-01 |
2 | 준서 | 배 | 2019-01-05 |
3 | 동현 | 귤 | 2019-01-07 |
4 | 현준 | 딸기 | 2019-01-08 |
5 | 준서 | 딸기 | 2019-01-08 |
6 | 도현 | 복숭아 | 2019-01-09 |
7 | 민준 | 사과 | 2019-01-09 |
8 | 준서 | 복숭아 | 2019-01-09 |
9 | 도현 | 복숭아 | 2019-01-10 |
10 | 우진 | 바나나 | 2019-01-10 |
중복값 갯수와 값 구하기
위의 테이블 예제로 2번 이상 구입한 사람의 이름과 구입횟수를 검색하는 쿼리입니다.
SELECT name, COUNT(name) FROM carts
GROUP BY name
HAVING COUNT(name) > 1
실행결과는 다음과 같습니다.
name | COUNT(name) |
---|---|
도현 | 2 |
민준 | 2 |
준서 | 3 |
중복값 구하기로 고생할 누군가에게 도움이 되었으면 좋겠습니다^^
독자 의견
저자 @brad 에게 의견 남기기: