MariaDB / 함수 / COUNT, SUM, AVG, MAX, MIN

예제로 사용한 데이터베이스는 employees입니다.

COUNT

COUNT는 특정 조건을 만족하는 행의 개수를 세는 함수입니다.

employees 테이블의 전체 행 개수를 구합니다. 의미 상 전체 직원 수를 구하는 것입니다.

MariaDB [employees]> SELECT COUNT(*)
    -> FROM employees
    -> ;
+----------+
| COUNT(*) |
+----------+
|   300024 |
+----------+

WHERE를 이용하여 조건을 추가할 수 있습니다. 다음은 남자 직원의 수를 구하는 쿼리입니다.

MariaDB [employees]> SELECT COUNT(*)
    -> FROM employees
    -> WHERE gender = "M"
    -> ;
+----------+
| COUNT(*) |
+----------+
|   179973 |
+----------+

GROUP BY를 이용하면 값 별로 개수를 구할 수 있습니다. 다음은 WHERE를 사용하지 않고 남자 직원과 여자 직원의 수를 구하는 쿼리입니다.

MariaDB [employees]> SELECT gender, COUNT(gender) "count"
    -> FROM employees
    -> GROUP BY gender
    -> ;
+--------+--------+
| gender | count  |
+--------+--------+
| M      | 179973 |
| F      | 120051 |
+--------+--------+

SUM

SUM은 특정 조건을 만족하는 행의 개수를 세는 함수입니다.

salaries 테이블에서 emp_no가 10001인 사원 급여의 총합을 구합니다.

MariaDB [employees]> SELECT SUM(salary)
    -> FROM salaries
    -> WHERE emp_no = 10001
    -> ;
+-------------+
| SUM(salary) |
+-------------+
|     1281612 |
+-------------+

AS를 이용하면 열 이름을 다른 것으로 보이게 할 수 있습니다.

MariaDB [employees]> SELECT SUM(salary) AS 합계
    -> FROM salaries
    -> WHERE emp_no = 10001
    -> ;
+---------+
| 합계    |
+---------+
| 1281612 |
+---------+

AVG

AVG는 특정 조건을 만족하는 행의 값들의 평균을 구하는 함수입니다.

전체 급여의 평균을 구합니다.

MariaDB [employees]> SELECT AVG(salary)
    -> FROM salaries
    -> ;
+-------------+
| AVG(salary) |
+-------------+
|  63810.7448 |
+-------------+

열 이름을 Average로 출력합니다.

MariaDB [employees]> SELECT AVG(salary) AS Average
    -> FROM salaries
    -> ;
+------------+
| Average    |
+------------+
| 63810.7448 |
+------------+

emp_no가 10001인 사원의 평균 급여를 구합니다.

MariaDB [employees]> SELECT AVG(salary) AS Average
    -> FROM salaries
    -> WHERE emp_no = 10001
    -> ;
+------------+
| Average    |
+------------+
| 75388.9412 |
+------------+

ROUND 함수로 소수점 아래의 숫자를 없앱니다.

MariaDB [employees]> SELECT ROUND(AVG(salary),0) AS Average
    -> FROM salaries
    -> WHERE emp_no = 10001
    -> ;
+---------+
| Average |
+---------+
|   75389 |
+---------+

MAX, MIN

MAX는 최댓값, MIN은 최솟값을 구하는 함수입니다.

급여의 최댓값과 최솟값을 구합니다.

MariaDB [employees]> SELECT MAX(salary), MIN(salary)
    -> FROM salaries
    -> ;
+-------------+-------------+
| MAX(salary) | MIN(salary) |
+-------------+-------------+
|      158220 |       38623 |
+-------------+-------------+

AS를 이용하여 열 이름을 바꿀 수 있습니다.

MariaDB [employees]> SELECT MAX(salary) AS MAX, MIN(salary) AS MIN
    -> FROM salaries
    -> ;
+--------+-------+
| MAX    | MIN   |
+--------+-------+
| 158220 | 38623 |
+--------+-------+

emp_no가 10001, 10002, 10003인 사원의 최대 급여과 최소 급여를 구합니다.

MariaDB [employees]> SELECT MAX(salary) AS MAX, MIN(salary) AS MIN
    -> FROM salaries
    -> WHERE emp_no IN ( 10001, 10002, 10003 )
    -> ;
+-------+-------+
| MAX   | MIN   |
+-------+-------+
| 88958 | 40006 |
+-------+-------+

Related Posts

MariaDB / 함수 / CONCAT, CONCAT_WS / 문자열 합치는 함수

MariaDB / 함수 / CONCAT, CONCAT_WS / 문자열 합치는 함수

예제로 사용한 데이터베이스는 employees입니다. CONCAT CONCAT은 문자열을 이어주는 함수입니다. 예를 들어 CONCAT( first_name, last_name )는 first_name의 값과 last_name의 값을 이어서 출력합니다. MariaDB > SELECT first_name, last_name, CONCAT( first_name, last_name ) FROM employees LIMIT 5; +------------+-----------+---------------------------------+ | first_name | last_name | CONCAT( first_name, last_name ) | +------------+-----------+---------------------------------+ | Georgi | Facello | GeorgiFacello ...

MariaDB / Query / UNION, UNION ALL

MariaDB / Query / UNION, UNION ALL

UNION 또는 UNION ALL을 이용하면 여러 테이블의 데이터를 합하여 출력할 수 있습니다. 예를 들어 다음과 같은 테이블과... SELECT * FROM test_1; +-------+-------+-------+ | col_1 | col_2 | col_3 | +-------+-------+-------+ | 1 | A | 1 | | 2 | ...

MariaDB / 함수 / QUOTE / 문자열을 작은 따옴표로 감싸는 함수

MariaDB / 함수 / QUOTE / 문자열을 작은 따옴표로 감싸는 함수

QUOTE는 문자열을 작은 따옴표로 감싸는 함수입니다. QUOTE( string ) SELECT QUOTE( 'ABC' ); +----------------+ | QUOTE( 'ABC' ) | +----------------+ | 'ABC' | +----------------+ SELECT QUOTE( "ABC" ); +----------------+ | QUOTE( "ABC" ) | +----------------+ | 'ABC' | +----------------+ 문자열 안에 있는 작은 따옴표는 \'로 표시됩니다. SELECT ...

MariaDB / 함수 / REPLACE / 문자열 찾아서 바꾸는 함수

MariaDB / 함수 / REPLACE / 문자열 찾아서 바꾸는 함수

REPLACE는 특정 문자열을 찾아 다른 문자열로 바꾸는 함수입니다. REPLACE( string, from_string, to_string ) string : 찾아서 바꾸는 대상이 되는 문자열 from_string : 찾을 문자열 to_string : 교체될 문자열 아래는 ababab에서 b를 찾아 c로 바꾸는 예제입니다. SELECT REPLACE( 'ababab', 'b', 'c' ); +-------------------------------+ | REPLACE( 'ababab', 'b', 'c' ) | +-------------------------------+ | acacac ...

MariaDB / Query / IN, NOT IN

MariaDB / Query / IN, NOT IN

예제로 사용한 데이터베이스는 employees입니다. IN 예를 들어 first_name이 Georgi 또는 Parto인 직원의 목록을 추출하고 싶다면 다음과 같이 쿼리할 수 있습니다. SELECT first_name, last_name FROM employees WHERE first_name = 'Georgi' OR first_name = 'Parto' LIMIT 10; 하지만, 골라내야 하는 first_name이 더 많아진다면 쿼리가 길어집니다. 그런 경우 IN을 사용하면 쿼리를 단순하게 만들 수 있습니다. SELECT first_name, last_name FROM ...

MariaDB / 연산자 / AND, OR, IN

MariaDB / 연산자 / AND, OR, IN

예제로 사용한 데이터베이스는 employees입니다. AND 여러 조건을 동시에 만족시키는 데이터를 추출할 때 AND 연산자를 사용합니다. employees 테이블에서 first_name이 George이고, gender가 M인 데이터를 가져옵니다. MariaDB > SELECT first_name, gender -> FROM employees -> WHERE -> first_name = "George" -> AND ...

MariaDB / 함수 / FIND_IN_SET / 특정 문자열의 위치를 출력하는 함수

MariaDB / 함수 / FIND_IN_SET / 특정 문자열의 위치를 출력하는 함수

FIND_IN_SET은 특정 문자열의 위치를 출력하는 함수입니다. FIND_IN_SET( pattern, string_list ) A, B, C, D에서 B가 몇 번째 위치하는지를 출력합니다. 두 번째에 있으므로 출력하는 값은 2입니다. SELECT FIND_IN_SET( 'B', 'A,B,C,D' ); +-------------------------------+ | FIND_IN_SET( 'B', 'A,B,C,D' ) | +-------------------------------+ | ...

MariaDB / Query / 주석

MariaDB / Query / 주석

MariaDB의 쿼리문에서 주석을 만드는 방법은 세 가지가 있습니다. 한 줄 주석 한 줄 주석을 만들고 싶다면 # 또는 --를 사용합니다. 기호가 있는 다음부터 줄 끝까지가 주석이 됩니다. # Comment -- Comment 여러 줄 주석 여러 줄의 주석을 만들고 싶다면 /* */를 사용합니다. /* Comment Comment */

MariaDB / DBeaver / 테이블 만들기, 삭제하기

MariaDB / DBeaver / 테이블 만들기, 삭제하기

테이블 만들기 데이터베이스를 선택하고 마우스 우클릭합니다. 을 클릭하면... 다음과 같은 화면이 나옵니다. 테이블 이름을 정하고... 마우스 우클릭 후 을 클릭하거나, 아래에 있는 아이콘을 클릭하여... 열을 만듭니다. 를 클릭하고... 를 클릭하면... 테이블이 만들어집니다. 테이블 삭제하기 테이블을 선택하고 마우스 우클릭 후 를 클릭합니다. 를 클릭하면 테이블이 삭제됩니다.

MariaDB / 함수 / ELT / 특정 위치의 문자열 출력하는 함수

MariaDB / 함수 / ELT / 특정 위치의 문자열 출력하는 함수

ELT는 특정 위치의 문자열을 출력하는 함수입니다. ELT( N, string1, string2, string3, ... ) A, B, C, D에서 2번째의 문자열인 B를 출력합니다. SELECT ELT( 2, 'A', 'B', 'C', 'D' ); +------------------------------+ | ELT( 2, 'A', 'B', 'C', 'D' ) | +------------------------------+ | B ...