MySQL Select minimum/maximum among two (or more) given values

前端 未结 4 1999
故里飘歌
故里飘歌 2020-12-01 02:22

Is it possible to SELECT the minimum or maximum among two or more values. I\'d need something like this:

SELECT MAX_VALUE(A.date0, B.date0) AS d         


        
相关标签:
4条回答
  • 2020-12-01 02:54

    I suppose you are looking for:

    GREATEST()

    and

    LEAST()

    0 讨论(0)
  • 2020-12-01 02:59

    Just watch out if NULL is likely to be in a field value ...

    SELECT LEAST(NULL,NOW());
    

    and

    SELECT GREATEST(NULL,NOW());
    

    both return null, which may not be what you want (especially in the case of GREATEST)

    0 讨论(0)
  • 2020-12-01 03:03

    You can use LEAST and GREATEST function to achieve it.

    SELECT
        GREATEST(A.date0, B.date0) AS date0,
        LEAST(A.date1, B.date1) AS date1
    FROM A, B
    WHERE B.x = A.x
    

    Both are described here http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html

    0 讨论(0)
  • 2020-12-01 03:03

    Try this:

    SELECT GREATEST(A.date0, B.date0) AS `date0`,LEAST(A.date0, B.date0) AS `date1`
      FROM A 
      JOIN  B
        ON A.id = B.role;
    
    0 讨论(0)
提交回复
热议问题