라이브러리
[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을 사용하여 필터링할 수 있습니다.
댓글목록
등록된 댓글이 없습니다.