Knowledge Map

개별 항목 갯수, 중복 제거 쿼리 본문

DataBase

개별 항목 갯수, 중복 제거 쿼리

2016. 5. 18. 16:38



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;

출처: 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 테이블명;
1번째. 중복제거한 개별 값들을 볼때 사용
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