Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mysql minimum function

Is there a predefined MySQL function that returns minimum
of its arguments' values (MINIMUM(1,16) -> 1)?

To be more specific, I have a time-on-site column in one of my mysql tables.
Every visitor polls my server every 30 sec making an update:

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

but I'd like to update also timeOnSite column like this:

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

But the problem is that there are no such MINIMUM function, and I failed to find it in MySQL manuals.

like image 799
tsds Avatar asked Aug 02 '11 11:08

tsds


1 Answers

That's because its called LEAST() to avoid confusion with the aggregate function MIN().

like image 63
a'r Avatar answered Nov 15 '22 20:11

a'r