안녕하세요!!
이번에 포스팅할 내용은 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 |