MySQL Pilih minimum / maksimum di antara dua (atau lebih) nilai yang diberikan


126

Apakah mungkin untuk SELECTnilai minimum atau maksimum di antara dua atau lebih nilai. Saya butuh sesuatu seperti ini:

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

Bisakah saya mencapai ini hanya dengan menggunakan MySQL?


Jawaban:




10

Berhati-hatilah jika NULL kemungkinan besar berada dalam nilai bidang ...

SELECT LEAST(NULL,NOW());

dan

SELECT GREATEST(NULL,NOW());

keduanya mengembalikan nol, yang mungkin bukan yang Anda inginkan (terutama dalam kasus TERBESAR)


2

Coba ini:

SELECT GREATEST(A.date0, B.date0) AS `date0`,LEAST(A.date0, B.date0) AS `date1`
  FROM A 
  JOIN  B
    ON A.id = B.role;
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.