본문 바로가기
SQL

SQL COUNT 함수에 대해서

by 진격의 파파 2013. 10. 2.
반응형

 

 

 

안녕하세요!! 

이번에 포스팅할 내용은 SQL COUNT 함수 구문입니다.

 

count 함수는 이미 짐작했을 수도 있겠지만 행의 수를 세는 역할을 합니다.

기본예제는 아래와 같습니다.

select count(*) from table_name;

select count(column_name) from table_name;

// 위처럼 구문을 작성하면 table_name 테이블에서 모든 행의 개수가 얼마나 되는지 숫자로 표현됩니다. 예를들어서 삽입된 행의 수가 6이라고 하면 위 구문을 실행하면 6이라는 결과가 나타나게 됩니다.

 

조금 더 구체적으로 원하는 부분의 행의 개수를 가져오고 싶을 경우

where 를 사용하여 구문을 만들 수 있습니다.

select count(*) from table_name where name = '박';

// 위 구문은 name 즉, 이름이 '박'에 해당하는 사람이 몇 명이 되는지 가져오는 쿼리문입니다. 이렇게 해서 조금더 구체적으로 원하는 행의 개수를 가져올수 있고 그 외에도 지금까지 설명드렸던 내용들을 응용하여 구문을 코딩할 수도 있습니다.

 

이거 적고 보니 내용이 너무 짧은듯하여 한가지 함수 더 설명하겠습니다.

기사나 게시판에서 보면 가끔 조회수가 많은 문장 또는 공지글 또는 메인글 등 첫번째 행을 가져와 보여줘야할 경우가 있습니다. 그래서 그 구문에 대해서 어떻게 코딩되는지 알아보겠습니다.

 

MSSQL 의 경우

SELECT TOP 1 column_name FROM table_name
ORDER BY column_name ASC;

 

SELECT TOP 1 Name FROM board
ORDER BY B_ID ASC;

// 위 구문은 mssql 에서 사용하는 구문입니다. top 이라는 함수를 사용하여 가져올 내용의 수를 지정하면됩니다. 위 내용은 하나의 칼럼(name) 을 가져오지만 또 다른 칼럼을 가져오려면 name, column1, column2... 설정하면 됩니다. 그것도 귀찮고 모두 가져오려면 * 을 사용하면 됩니다.

 

MySql 의 경우

SELECT column_name FROM table_name
ORDER BY column_name ASC
LIMIT 1;

 

SELECT Name FROM board
ORDER BY B_ID ASC
LIMIT 1;

// mysql의 경우는 위처럼 구문뒤에 limit 함수를 사용하여 가져올 행의 개수를 지정하면 됩니다. 사실 limit 함수는 숫자를 두개를 사용하여 행의 개수를 가져올수 있습니다. 예를들어 limit 0,4 라고 나타내면 0번째 행 부터 4번째 행까지 가져오게 됩니다. 주의해야 할 것은 숫자를 두개 사용하여 작성할 경우 0은 첫번째 행을 말하며 1은 두번째 행을 말합니다.

 

Oracle 의 경우

SELECT column_name FROM table_name
ORDER BY column_name ASC
WHERE ROWNUM <=1;

 

SELECT Name FROM board
ORDER BY BID ASC
WHERE ROWNUM <=1;
// 모든 내용은 위와 같고 오라클의 경우 rownum 을 사용한다는 것을 알아두면 되겠습니다.

 

그럼 여기까지하고 포스팅을 마치겠습니다.

오늘도 하루가 금방가네요. 어른들 말씀이 이해가 가는게 나이와 시간의 속도는 비례한다는....ㅎㅎ;;

남은 일정 마무리 잘 하시기 바랍니다.

그리고 즐거운 프로그래밍 되세요!!

 

 

반응형

'SQL' 카테고리의 다른 글

SQL SUM() 함수  (1) 2013.10.07
SQL MAX(), MIN() 구문  (0) 2013.10.04
SQL AVG() 구문  (0) 2013.09.30
SQL DATE 함수들  (0) 2013.09.26
SQL AUTO INCREMENT 구문  (0) 2013.09.25