2009-12-17 19 views
8

MySQL'de en fazla iki açık değer nasıl bulunur? MAXIMUM (1, @foo) gibi bir şey.Basit Matematik maksimum işlevi MySQL içinde

bağımsız değişken olarak sütun adını alır ve sonuç kümeleri ile çalışmak vb MAX, MIN, AVG, gibi grup işlevleri vardır. İki açık değeri bir sonuç kümesine dönüştürmek ve bu işlevleri kullanmak mümkün mü? Diğer bazı yollar?

P.S .: Depolanmış yordamlarımdan biri için maksimum bir işleve ihtiyacım var.

cevap

24

Nasıl MySQL iki açık değerlerin maksimum bulmak için kullanabilir? MAXIMUM (1, @foo) gibi bir şey.

GREATEST işlevini kullanın: Daha büyük olan değeri dönecektir ...

GREATEST(1, @foo) 

- 1 @foo değerden büyükse, sen Aksi 1. alırsınız, sen olacak @foo'daki değeri al. Ayrıca, bir toplu işlev değil değil.

alternatif bir CASE deyimi kullanmak olacaktır: VAKA ANSI standardı çünkü ...

CASE WHEN 1 > @foo THEN 1 ELSE @foo END 

-

+0

Karşısında olduğunu ... Oracle, MySQL, SQL Server, Postgres da çalışması [bağlantı] (https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#function_least) LEAST – Andrei

2

Sen IF(1 > @foo,1,@foo)