[mysql] MySQL에서 최대 두 값을 얻는 방법은 무엇입니까?

시도했지만 실패했습니다.

mysql> select max(1,0);
오류 1064 (42000) : SQL 구문에 오류가 있습니다. 매뉴얼을 확인하십시오
올바른 구문을 사용하려면 MySQL 서버 버전에 해당합니다.
1 호선 '0)'근처



답변

사용 ) (GREATEST

예 :

SELECT GREATEST(2,1);

참고 : 당시 단일 값에 null이 포함되어 있으면이 함수는 항상 null을 반환합니다 (@ sanghavi7 사용자에게 감사합니다)


답변

일련의 행에서 열의 최대 값을 얻으려면

SELECT MAX(column1) FROM table; -- expect one result

각 행에 대한 열, 리터럴 또는 변수 세트의 최대 값을 얻으려면 다음을 수행하십시오.

SELECT GREATEST(column1, 1, 0, @val) FROM table; -- expect many results


답변

널 입력 가능 필드와 함께 GREATEST 함수를 사용할 수 있습니다 . 이 값 중 하나 (또는 ​​둘 다)가 NULL 일 수 있으면 사용하지 마십시오 (결과는 NULL 일 수 있음).

select
    if(
        fieldA is NULL,
        if(fieldB is NULL, NULL, fieldB), /* second NULL is default value */
        if(fieldB is NULL, field A, GREATEST(fieldA, fieldB))
    ) as maxValue

NULL을 원하는 기본값으로 변경할 수 있습니다 (두 값이 모두 NULL 인 경우).


답변