MySQL Wählen Sie Minimum / Maximum aus zwei (oder mehr) vorgegebenen Werten

126

Ist es möglich, SELECTzwischen zwei oder mehr Werten das Minimum oder Maximum zu erreichen? Ich würde so etwas brauchen:

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

Kann ich dies nur mit MySQL erreichen?

Carlos
quelle
Mögliches Duplikat von Wie erhalte ich das Maximum von zwei Werten in MySQL?
RandomSeed

Antworten:

27

Ich nehme an, Sie suchen:

GREATEST()

und

LEAST()

RandomSeed
quelle
9

Achten Sie nur darauf, ob NULL wahrscheinlich in einem Feldwert enthalten ist ...

SELECT LEAST(NULL,NOW());

und

SELECT GREATEST(NULL,NOW());

beide geben null zurück, was möglicherweise nicht das ist, was Sie wollen (insbesondere im Fall von GREATEST)

Steve Childs
quelle
2

Versuche dies:

SELECT GREATEST(A.date0, B.date0) AS `date0`,LEAST(A.date0, B.date0) AS `date1`
  FROM A 
  JOIN  B
    ON A.id = B.role;
Mani
quelle