Mysql最小功能

发布于 2024-11-27 09:03:04 字数 504 浏览 2 评论 0原文

是否有一个预定义的 MySQL 函数返回其参数值的最小值(MINIMUM(1,16) -> 1)?

更具体地说,我的一个 mysql 表中有一个现场时间列。
每个访问者每 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 手册中找不到它。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深巷少女 2024-12-04 09:03:04

这是因为它被称为 LEAST() 以避免与聚合函数 MIN() 混淆。

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文