17


引数の値の最小値を返す定義済みの MySQL 関数はありますか (MINIMUM(1,16) -> 1)?

具体的に言うと、mysql テーブルの 1 つにサイト滞在時間の列があります。
すべての訪問者は、30 秒ごとにサーバーをポーリングして更新を行います。

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

しかし、次のように timeOnSite 列も更新したいと思います。

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

しかし、問題はそのような MINIMUM 関数がないことであり、MySQL のマニュアルで見つけることができませんでした。

4

1 に答える 1

31

LEAST()これは、集計関数との混同を避けるために呼び出されるためMIN()です。

于 2011-08-02T11:17:05.897 に答える