2011-08-02 13 views
17

Czy istnieje predefiniowana funkcja MySQL, która zwraca minimum
wartości swoich argumentów (MINIMUM (1,16) -> 1)?Minimalna funkcja MySQL

Mam dokładniejszą kolumnę czas-na-stronie w jednym z moich tabel mysql.
Co ankiety odwiedzin mojego serwera co 30 sec dokonywania aktualizacji:

UPDATE `mytable` SET `lastUpdate` = NOW() WHERE `id` = ?; 

ale chciałbym zaktualizować również timeOnSite kolumny tak:

UPDATE `mytable` SET `timeOnSite` = (
`timeOnSite` + MINIMUM( 
        TIMESTAMPDIFF(SECOND, lastUpdate, NOW()), 30 
       ) 
), 
`lastUpdate` = NOW() WHERE `id` = ?; 

Ale problemem jest to, że nie ma takich Funkcja MINIMUM i nie udało mi się znaleźć jej w podręcznikach MySQL.

+0

problem znalezienia odpowiedzi w instrukcjach podnosi z niezbyt oczywistego słowa kluczowego "najmniej" – tsds

Odpowiedz

31

To dlatego, że nazywa się LEAST(), aby uniknąć pomyłki z funkcją agregującą MIN().

+1

Tak, to działa! (WYBIERZ PRZYNAJMNIEJ (1,15) -> 1) – tsds