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

MySQL LEAST() 함수로 4개 열 전체에서 최소 점수 찾는 방법

MySQL에서 여러 열의 최솟값 구하기

MySQL에서 테이블의 네 개 열 전체를 대상으로 최소 점수를 찾으려면 LEAST() 함수를 사용하면 됩니다. LEAST() 함수는 인자로 전달된 여러 값 중 가장 작은 값을 반환하는 함수로, 행 단위로 여러 열을 비교할 때 매우 유용합니다.

먼저 예제에 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable(
    Score1 int,
    Score2 int,
    Score3 int,
    Score4 int
);
Query OK, 0 rows affected (0.50 sec)

테이블에 데이터 삽입하기

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

mysql> insert into DemoTable values(88,76,45,56);
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable values(99,78,87,34);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values(34,32,56,98);
Query OK, 1 row affected (0.44 sec)

저장된 데이터 확인하기

SELECT 문을 사용해 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable;

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+--------+--------+--------+--------+
| Score1 | Score2 | Score3 | Score4 |
+--------+--------+--------+--------+
|     88 |     76 |     45 |     56 |
|     99 |     78 |     87 |     34 |
|     34 |     32 |     56 |     98 |
+--------+--------+--------+--------+
3 rows in set (0.00 sec)

LEAST() 함수로 최소 점수 조회하기

다음은 데이터베이스의 네 개 열에서 각 행별 최소 점수를 찾는 쿼리입니다. AS 키워드를 사용해 결과 컬럼에 별칭(Alias)을 지정하면 가독성이 좋아집니다.

mysql> select least(Score1,Score2,Score3,Score4) AS MinimumScore from DemoTable;

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

+--------------+
| MinimumScore |
+--------------+
|         45 |
|         34 |
|         32 |
+--------------+
3 rows in set (0.00 sec)

결과를 보면 첫 번째 행에서는 45, 두 번째 행에서는 34, 세 번째 행에서는 32가 각각 네 개 열 중 최솟값으로 반환된 것을 확인할 수 있습니다.

참고 사항

LEAST() 함수와 반대로 여러 값 중 가장 큰 값을 반환하려면 GREATEST() 함수를 사용하면 됩니다. 또한 주의할 점은, 인자 중 하나라도 NULL이 포함되면 LEAST() 함수는 NULL을 반환한다는 것입니다. NULL을 무시하고 최솟값을 구하려면 COALESCE() 함수와 함께 활용하는 방법도 고려해 볼 수 있습니다.