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

MySQL에서 특정 열 값의 크기(글자 수)를 구해 합계로 표시하는 방법

MySQL에서 특정 열 값의 크기와 합계 구하기

MySQL에서는 CHAR_LENGTH() 함수와 SUM() 함수를 함께 사용하면 특정 열 값의 글자 수(크기)를 구하고, 그 합계를 손쉽게 표시할 수 있습니다. 이번 글에서는 예제 테이블을 만들고, 조건에 맞는 행들의 열 값 크기 합계를 구하는 과정을 단계별로 살펴보겠습니다.

1. 테이블 생성

먼저 예제로 사용할 테이블을 생성합니다.

mysql> create table DemoTable1612
-> (
-> FirstName varchar(20),
-> LastName varchar(20)
-> );
Query OK, 0 rows affected (0.87 sec)

2. 데이터 삽입

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

mysql> insert into DemoTable1612 values('David','Brown');
Query OK, 1 row affected (0.75 sec)
mysql> insert into DemoTable1612 values('John','Smith');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable1612 values('Bob','Taylor');
Query OK, 1 row affected (0.13 sec)

3. 전체 레코드 조회

SELECT 문으로 테이블의 모든 레코드를 확인합니다.

mysql> select * from DemoTable1612;

위 쿼리는 다음과 같은 결과를 출력합니다.

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| David | Brown |
| John | Smith |
| Bob | Taylor |
+-----------+----------+
3 rows in set (0.00 sec)

4. 선택된 행의 열 값 크기 합계 구하기

이제 특정 조건에 해당하는 행들에서 FirstName 열 값의 글자 수를 구하고, 그 합계를 표시하는 쿼리를 실행합니다.

mysql> select sum(char_length(FirstName)) from DemoTable1612 where LastName IN('Brown','Smith','Taylor');

위 쿼리는 다음과 같은 결과를 출력합니다.

+-----------------------------+
| sum(char_length(FirstName)) |
+-----------------------------+
| 12 |
+-----------------------------+
1 row in set (0.00 sec)

결과 해설

CHAR_LENGTH() 함수는 문자열의 글자 수를 반환하며, SUM() 함수는 이 값들을 모두 더해 합계를 계산합니다. 위 예제에서는 'David'(5자) + 'John'(4자) + 'Bob'(3자) = 12자가 되어, 최종 결과로 12가 출력된 것입니다. 이처럼 WHERE 절과 IN 연산자를 함께 사용하면 원하는 조건의 행만 대상으로 크기 합계를 구할 수 있습니다.