복붙노트

[SQL] MySQL의 선택의 최소 / 최대 두 개 (또는 그 이상)의 주어진 값 중에서

SQL

MySQL의 선택의 최소 / 최대 두 개 (또는 그 이상)의 주어진 값 중에서

이 가능한 둘 개 이상의 값 사이의 최소 또는 최대 값을 선택하는 것이다. 나는 이런 식으로 뭔가를해야 할 것입니다 :

SELECT MAX_VALUE(A.date0, B.date0) AS date0, MIN_VALUE(A.date1, B.date1) AS date1
FROM A, B
WHERE B.x = A.x

난 단지 MySQL을 사용하여이를 달성 할 수 있습니까?

해결법

  1. ==============================

    1.당신은 그것을 달성하기 위해 LEAST 및 GREATEST 기능을 사용할 수 있습니다.

    당신은 그것을 달성하기 위해 LEAST 및 GREATEST 기능을 사용할 수 있습니다.

    SELECT
        GREATEST(A.date0, B.date0) AS date0,
        LEAST(A.date1, B.date1) AS date1
    FROM A, B
    WHERE B.x = A.x
    

    모두 여기에 http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html 설명

  2. ==============================

    2.나는 당신이 찾고있는 가정 :

    나는 당신이 찾고있는 가정 :

    GREATEST ()

    가장 작은()

  3. ==============================

    3.NULL은 필드 값에있을 가능성이있는 경우 그냥 조심 ...

    NULL은 필드 값에있을 가능성이있는 경우 그냥 조심 ...

    SELECT LEAST(NULL,NOW());
    

    SELECT GREATEST(NULL,NOW());
    

    당신이 (특히 GREATEST의 경우) 원하는 것을하지 않을 수 있습니다 모두는 null,

  4. ==============================

    4.이 시도:

    이 시도:

    SELECT GREATEST(A.date0, B.date0) AS `date0`,LEAST(A.date0, B.date0) AS `date1`
      FROM A 
      JOIN  B
        ON A.id = B.role;
    
  5. from https://stackoverflow.com/questions/19445828/mysql-select-minimum-maximum-among-two-or-more-given-values by cc-by-sa and MIT license