Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 열의 특정 값 개수를 구하는 방법

MySQL에서 특정 값의 개수 세기

MySQL에서는 COUNT(*) 함수와 WHERE 절을 함께 사용하면 열에 있는 특정 값이 몇 번 등장하는지 쉽게 확인할 수 있습니다. 이번 글에서는 예제 테이블을 만들고, 'Chris'라는 이름이 몇 번 저장되어 있는지 직접 확인해 보겠습니다.

1단계: 테이블 생성하기

먼저 아래와 같이 테이블을 생성합니다.

mysql> create table DemoTable
    (
       Id int,
       Name varchar(100)
    );
Query OK, 0 rows affected (1.40 sec)

2단계: 데이터 삽입하기

INSERT 명령을 사용해 테이블에 여러 레코드를 추가합니다.

mysql> insert into DemoTable values(100,'John');
Query OK, 1 row affected (0.44 sec)
mysql> insert into DemoTable values(101,'Chris');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(102,'Chris');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(103,'Chris');
Query OK, 1 row affected (1.05 sec)
mysql> insert into DemoTable values(104,'David');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(105,'Chris');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(106,'Carol');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values(107,'Bob');
Query OK, 1 row affected (0.18 sec)

3단계: 전체 레코드 조회하기

SELECT 문으로 테이블의 모든 데이터를 확인합니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다.

+------+-------+
| Id   | Name  |
+------+-------+
| 100  | John  |
| 101  | Chris |
| 102  | Chris |
| 103  | Chris |
| 104  | David |
| 105  | Chris |
| 106  | Carol |
| 107  | Bob   |
+------+-------+
8 rows in set (0.00 sec)

4단계: 특정 값의 개수 구하기

이제 WHERE 절과 COUNT(*)를 조합하여 'Chris'라는 값이 몇 개 있는지 세어 보겠습니다.

mysql> select count(*) from DemoTable where Name='Chris';

실행 결과는 다음과 같습니다.

+----------+
| count(*) |
+----------+
| 4        |
+----------+
1 row in set (0.00 sec)

추가 팁: 여러 값의 개수를 한 번에 세기

만약 각 이름별로 등장 횟수를 한꺼번에 알고 싶다면 GROUP BY 절을 활용할 수 있습니다.

mysql> select Name, count(*) as Cnt
       from DemoTable
       group by Name;

이렇게 하면 'John', 'Chris', 'David', 'Carol', 'Bob' 각각의 개수를 한 번의 쿼리로 확인할 수 있어, 데이터 분석 시 매우 유용합니다.