MySQL Wybierz minimum / maksimum spośród dwóch (lub więcej) podanych wartości


126

Czy jest możliwe SELECT minimum lub maksimum spośród dwóch lub więcej wartości. Potrzebowałbym czegoś takiego:

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

Czy mogę to osiągnąć używając tylko MySQL?


Odpowiedzi:




10

Po prostu uważaj, czy NULL prawdopodobnie znajduje się w wartości pola ...

SELECT LEAST(NULL,NOW());

i

SELECT GREATEST(NULL,NOW());

oba zwracają wartość null, co może nie być tym, czego chcesz (szczególnie w przypadku NAJWIĘKSZEJ)


2

Spróbuj tego:

SELECT GREATEST(A.date0, B.date0) AS `date0`,LEAST(A.date0, B.date0) AS `date1`
  FROM A 
  JOIN  B
    ON A.id = B.role;
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.