MySQL Chọn tối thiểu / tối đa trong số hai (hoặc nhiều hơn) các giá trị đã cho


126

Có thể SELECTtối thiểu hoặc tối đa giữa hai hoặc nhiều giá trị. Tôi cần một cái gì đó như thế này:

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

Tôi có thể đạt được điều này bằng cách chỉ sử dụng MySQL?


Câu trả lời:




9

Chỉ cần xem nếu NULL có khả năng ở trong một giá trị trường ...

SELECT LEAST(NULL,NOW());

SELECT GREATEST(NULL,NOW());

cả hai đều trả về null, có thể không phải là điều bạn muốn (đặc biệt là trong trường hợp TUYỆT VỜI nhất)


2

Thử cái này:

SELECT GREATEST(A.date0, B.date0) AS `date0`,LEAST(A.date0, B.date0) AS `date1`
  FROM A 
  JOIN  B
    ON A.id = B.role;
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.