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?


Antworten:




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)


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;
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.