2011-08-02 10 views
17

¿Existe una función MySQL predefinida que arroje como mínimo
de los valores de sus argumentos (MINIMO (1,16) -> 1)?Función mínima de Mysql

Para ser más específicos, tengo una columna de tiempo en el sitio en una de mis tablas de MySQL.
Cada encuestas visitantes mi servidor cada 30 segundos hacer una actualización:

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

pero me gustaría también para actualizar la columna timeOnSite así:

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

Pero el problema es que no hay tal Función MÍNIMA, y no pude encontrarlo en los manuales de MySQL.

+0

el problema de encontrar la respuesta en los manuales plantea la palabra clave no muy obvia "menos" – tsds

Respuesta

31

Eso es porque se llama LEAST() para evitar confusiones con la función de agregado MIN().

+1

Sí, esto funciona! (SELECCIONAR MENOS (1,15) -> 1) – tsds