Knowledge Map
개별 항목 갯수, 중복 제거 쿼리 본문
1 2 3 | select p.name, p.number from (select name, count(*) as number from tablename group by name) p where p.number > 20 order by p.number desc; | cs |
출처: http://www.gurubee.net/lecture/2015
DISTINCT를 이용한 중복 제거
중복된 레코드를 제거하고 유일한 값에 대해서만 결과를 출력하려면 DISTINCT를 사용한다. DISTINCT를 사용하지 않은 [결과 1] 에서는 동일한 값을 가지는 레코드가 포함되어 있지만, DISTINCT를 사용한 [결과 2]에서는 중복된 레코드가 제거되었다.
즉, DISTINCT를 사용하는 경우, DBMS엔진 내부에서는 데이터에 대해 정렬 연산을 수행하므로 출력된 순서가 알파벳순으로 정렬된 것을 확인할 수 있다.
예제3
CODE 테이블에서 중복을 제거하여 nation_code, address 컬럼만 조회하라.
SELECT
DISTINCT
nation_code, address
FROM
stadium
WHERE
nation_code=
'KOR'
;
결과 테이블에서 유일한 레코드만 출력되게 하려면 컬럼 리스트 앞에 DISTINCT 키워드를 사용한다.
출처 : http://zetawiki.com/wiki/DB_%EC%A4%91%EB%B3%B5_%EA%B0%9C%EC%88%98_%ED%99%95%EC%9D%B8
모든값 갯수
SELECT str, COUNT(*) FROM jmtable GROUP BY str;
모든값 갯수
SELECT str, COUNT(*) FROM jmtable GROUP BY str;
출처: http://warmz.tistory.com/entry/MySQL-DB-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%84%B8%EC%96%B4%EB%B3%B4%EA%B8%B0-Count-%EC%A4%91%EB%B3%B5%EC%A0%9C%EA%B1%B0-Distinct-%EC%97%B0%EC%82%B0%EC%9E%90
null값은 세지 않고, 중복된 값에 대해서는 1개로 인식한다.
select Count(Distinct 컬럼명) from 테이블명;
null값은 세지 않고, 중복된 값에 대해서는 1개로 인식한다.
select Count(Distinct 컬럼명) from 테이블명;
1번째. 중복제거한 개별 값들을 볼때 사용
2번째. 중복된 값들을 카운트해서 각각의 다른것들의 동일 값 갯수를 구함
3번쨰. 중복된 값들을 제거하고 카운트 해서 다른 값들의 총 갯수를 구함
2번째. 중복된 값들을 카운트해서 각각의 다른것들의 동일 값 갯수를 구함
3번쨰. 중복된 값들을 제거하고 카운트 해서 다른 값들의 총 갯수를 구함
정렬쿼리
select title, purchased from movie_table Order By title ASC, purchased DESC;
'DataBase' 카테고리의 다른 글
mysql rownum (0) | 2016.06.02 |
---|---|
테이블 컬럼 검색 (0) | 2016.05.26 |
old password 셋팅, innoDB 에러 (0) | 2016.05.18 |
이중 쿼리, subQuery (0) | 2016.05.17 |
mysql 암호화 (0) | 2016.05.13 |
Comments