IT박스

두 개 이상의 필드에서 가장 큰 값

itboxs 2020. 11. 13. 07:57
반응형

두 개 이상의 필드에서 가장 큰 값


두 필드에서 가장 큰 가치를 얻어야합니다.

SELECT MAX(field1), MAX(field2)

이제이 두 가지에서 어떻게 가장 큰 가치를 얻을 수 있습니까?


다음 GREATEST()기능 을 사용할 수 있습니다 .

SELECT GREATEST(field1, field2);

모든 행에서 절대 최대 값을 얻으려면 다음을 사용할 수 있습니다.

SELECT GREATEST(MAX(field1), MAX(field2));

예 1 :

SELECT GREATEST(1, 2);
+----------------+
| GREATEST(1, 2) |
+----------------+
|              2 |
+----------------+
1 row in set (0.00 sec)

예 2 :

CREATE TABLE a (a int, b int);

INSERT INTO a VALUES (1, 1);
INSERT INTO a VALUES (2, 1);
INSERT INTO a VALUES (3, 1);
INSERT INTO a VALUES (1, 2);
INSERT INTO a VALUES (1, 4);

SELECT GREATEST(MAX(a), MAX(b)) FROM a;
+--------------------------+
| GREATEST(MAX(a), MAX(b)) |
+--------------------------+
|                        4 |
+--------------------------+
1 row in set (0.02 sec)

각 행에 대해 GREATEST ()를 선택하는 경우

SELECT GREATEST(field1, field2)

필드 중 하나가 NULL 이면 NULL 을 반환 합니다. IFNULL을 사용하여이 문제를 해결할 수 있습니다.

SELECT GREATEST(IFNULL(field1, 0), IFNULL(field2, 0))

mysql> SELECT GREATEST(2,0);
        -> 2

그래서 시도해보십시오.

mysql> SELECT GREATEST(MAX(field1), MAX(field2));

SELECT max( CASE
                WHEN field1 > field2 THEN field1
                ELSE field2
            END ) as biggestvalue 
FROM YourTable;

참고 URL : https://stackoverflow.com/questions/2615697/biggest-value-from-two-or-more-fields

반응형