SQL

SQL COUNT 함수에 대해서

진격의 파파 2013. 10. 2. 16:47
반응형

 

 

 

안녕하세요!! 

이번에 포스팅할 내용은 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 을 사용한다는 것을 알아두면 되겠습니다.

 

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

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

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

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

 

 

반응형