'limit'에 해당되는 글 2건

  1. 2013.10.02 SQL COUNT 함수에 대해서 (4)
  2. 2013.08.20 SQL TOP,LIMIT, ROWNUM 구문

SQL COUNT 함수에 대해서

SQL 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 을 사용한다는 것을 알아두면 되겠습니다.

 

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

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

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

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

 

 

'SQL' 카테고리의 다른 글

SQL SUM() 함수  (1) 2013.10.07
SQL MAX(), MIN() 구문  (0) 2013.10.04
SQL COUNT 함수에 대해서  (4) 2013.10.02
SQL AVG() 구문  (0) 2013.09.30
SQL DATE 함수들  (0) 2013.09.26
SQL AUTO INCREMENT 구문  (0) 2013.09.25
Posted by 진격의 파파

댓글을 달아 주세요

  1. 작가 남시언 2013.10.03 20:58 신고  댓글주소  수정/삭제  댓글쓰기

    잘 보고 갑니다~

  2. vince joe 2016.02.14 22:20 신고  댓글주소  수정/삭제  댓글쓰기

    COUNT(*) as total 뭐 이런식으로 count 한 수를 variable처럼 만들 수도 있습니다

  3. 유성민 2017.04.20 10:15  댓글주소  수정/삭제  댓글쓰기

    감사합니다. 항상 도움이 되고 있습니다.

SQL TOP,LIMIT, ROWNUM 구문

SQL 2013. 8. 20. 09:17

 

 

안녕하세요!! 좋은 아침입니다.

이번 포스팅에서는 가져올 레코드수를 지정할 수 있는 구문에 대해서 알아보겠습니다.

제목에 TOP, LIMIT, ROWNUM 이렇게 3가지를 적은 이유는 데이타베이스마다 구문이 틀리기 때문입니다.

 

MS-SQL : TOP

MY-SQL : LIMIT

ORACLE : ROWNUM

 

 

MS-SQL 예제

1. SELECT TOP 10 number * FROM table_name;

2. SELECT TOP 10 percent * FROM table_name;

// 감이 빠른 분들이라면 벌써 위 구문이 아~ 어떤 내용이구나 라고 이해하셨을듯 합니다.

// 첫 번째 구문은 10개의 레코드를 가져오라는 구문이며, 두 번째는 모든 레코드 중에서 10퍼센트를 가져오라는 구문입니다. 그리고 기본적으로 ORDER BY 구문이 없다면 가장먼저 입력된 테이블의 레코드를 가져오게 됩니다. 다시말하면 기본적으로 오름차순으로 레코드를 가져오게 된다는 뜻입니다.

 

 

MY-SQL 예제

SELECT *  FROM table_name LIMIT 10;

// MY-SQL에서는 LIMIT 구문을 사용하여 레코드를 가져옵니다. 마찬가지로 처음 입력된 값을 기준으로 10개의 레코드를 가져오게 됩니다. PHP에서 MY-SQL을 많이 사용하기 때문에 잘 알아두시기 바랍니다. 참고적으로 정렬을 내림차순으로 바꾸고 싶을 경우

SELECT *  FROM table_name order by column_name desc LIMIT 10; 처럼 order by 구문을 사용하여 변경할 수 있습니다.

 

 

ORACLE 예제

SELECT * FROM table_name WHERE ROWNUM <= 5;

// ORACLE에서는 ROWNUM이라는 구문을 사용하는데 사실 그 쓰임새는 더 복잡합니다. 오라클을 공부하는 분들은 ROWNUM에 대해서 더 많이 찾아보시고 학습을 하는게 좋을듯합니다.

 

 

다음 포스팅에서는 SQL where 구문에서 잠깐 설명했던 like 구문에 대해서 자세히 알아보겠습니다.

그럼 좋은하루 보내길 바랍니다.

 

'SQL' 카테고리의 다른 글

SQL IN 구문  (10) 2013.08.22
SQL LIKE 구문  (0) 2013.08.21
SQL TOP,LIMIT, ROWNUM 구문  (0) 2013.08.20
SQL UPDATE, DELETE 구문  (0) 2013.08.19
SQL INSERT INTO 구문  (0) 2013.08.16
SQL ORDER BY 구문  (0) 2013.08.15
Posted by 진격의 파파

댓글을 달아 주세요