라이브러리

[MYSQL] COUNT(*) - 행 개수 반환




COUNT(*) 함수

COUNT(*) 함수는 MySQL에서 데이터베이스 내의 레코드의 수를 반환하는 함수입니다. COUNT(*) 함수는 NULL 값을 포함하여 모든 레코드를 카운팅합니다.

COUNT(*) 함수의 사용법

COUNT(*) 함수는 다음과 같이 사용할 수 있습니다.

#hostingforum.kr
sql

COUNT(*) [FROM table_name [WHERE condition]];



* `table_name` : 카운트를 수행할 테이블 이름입니다.
* `condition` : 카운트를 수행할 레코드를 필터링하기 위한 조건입니다.

COUNT(*) 함수의 예제

예제 1: 전체 레코드의 수를 카운트하기


#hostingforum.kr
sql

CREATE TABLE students (

    id INT AUTO_INCREMENT,

    name VARCHAR(255),

    age INT,

    PRIMARY KEY (id)

);



INSERT INTO students (name, age) VALUES

('John', 20),

('Jane', 21),

('Bob', 19),

('Alice', 20),

('Charlie', 21);



SELECT COUNT(*) FROM students;



이 예제에서는 students 테이블에 5개의 레코드가 삽입되어 있습니다. COUNT(*) 함수를 사용하여 전체 레코드의 수를 카운트하면 다음과 같이 결과가 나옵니다.

#hostingforum.kr
sql

+----------+

| COUNT(*) |

+----------+

|        5 |

+----------+



예제 2: 특정 조건에 맞는 레코드의 수를 카운트하기


#hostingforum.kr
sql

SELECT COUNT(*) FROM students WHERE age > 20;



이 예제에서는 students 테이블에서 age가 20보다 큰 레코드의 수를 카운트합니다. 결과는 다음과 같습니다.

#hostingforum.kr
sql

+----------+

| COUNT(*) |

+----------+

|        2 |

+----------+



예제 3: NULL 값을 포함하여 모든 레코드의 수를 카운트하기


#hostingforum.kr
sql

CREATE TABLE scores (

    id INT AUTO_INCREMENT,

    student_id INT,

    score INT,

    PRIMARY KEY (id)

);



INSERT INTO scores (student_id, score) VALUES

(1, 90),

(1, NULL),

(2, 80),

(3, 70);



SELECT COUNT(*) FROM scores;



이 예제에서는 scores 테이블에 4개의 레코드가 삽입되어 있습니다. COUNT(*) 함수를 사용하여 전체 레코드의 수를 카운트하면 다음과 같이 결과가 나옵니다.

#hostingforum.kr
sql

+----------+

| COUNT(*) |

+----------+

|        4 |

+----------+



NULL 값을 포함하여 모든 레코드를 카운트하기 위해서는 COUNT(*) 함수를 사용하면 됩니다.

예제 4: GROUP BY를 사용하여 카운트하기


#hostingforum.kr
sql

SELECT age, COUNT(*) FROM students GROUP BY age;



이 예제에서는 students 테이블에서 age를 그룹화하여 카운트합니다. 결과는 다음과 같습니다.

#hostingforum.kr
sql

+------+----------+

| age  | COUNT(*) |

+------+----------+

|   19 |        1 |

|   20 |        2 |

|   21 |        2 |

+------+----------+



GROUP BY를 사용하여 카운트를 수행할 수 있습니다.

예제 5: HAVING을 사용하여 필터링하기


#hostingforum.kr
sql

SELECT age, COUNT(*) FROM students GROUP BY age HAVING COUNT(*) > 1;



이 예제에서는 students 테이블에서 age를 그룹화하여 카운트한 후, 카운트가 1보다 큰 레코드만 필터링합니다. 결과는 다음과 같습니다.

#hostingforum.kr
sql

+------+----------+

| age  | COUNT(*) |

+------+----------+

|   20 |        2 |

|   21 |        2 |

+------+----------+



HAVING을 사용하여 필터링할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

검색

게시물 검색