gpt4 book ai didi

MYSQL:用户在一段时间内最后一次处于事件状态

转载 作者:行者123 更新时间:2023-11-29 16:25:29 24 4
gpt4 key购买 nike

我有一个 JS 将日志发送回 PHP 页面,以按以下格式将条目插入到 MYSQL 数据库:

id      ipad       uid  ts                  urlpath  
1455 1.1.1.15 13 19/01/2019 07:32 http://1.1.1.151/useradmin.php
1456 1.1.1.15 13 19/01/2019 07:33 http://1.1.1.151/useradmin.php
1460 1.1.1.15 13 19/01/2019 07:37 http://1.1.1.151/useradmin.php
1461 1.1.1.15 19 19/01/2019 08:05 http://1.1.1.151/index.php
1462 1.1.1.15 19 19/01/2019 08:05 http://1.1.1.151/index.php
1463 1.1.1.15 19 19/01/2019 08:05 http://1.1.1.151/index.php
1464 1.1.1.15 13 19/01/2019 23:13 http://1.1.1.151/useradmin.php

我想要做的是在给定时间段(例如30分钟、6小时、30天等)内按时间戳(ts)返回uid的最新单个条目我尝试了几段代码,但它永远不会返回最新的条目。我现在使用的代码是:

SELECT *  
FROM usertrack
WHERE ts >= NOW() - INTERVAL 43830 MINUTE
GROUP
BY uid
HAVING MAX(ts)
ORDER
BY ts DESC

但这只是随机选择一个条目,而不是最新的。

任何帮助将不胜感激,因为我已经失去了大量头发。

最佳答案

这可以通过相关子查询来完成,例如:

SELECT u.*
FROM usertrack u
WHERE NOT EXISTS (
SELECT 1 FROM usertrack u1 WHERE u1.ts > u.ts AND u1.uid = u.uid
) AND ts >= NOW() - INTERVAL 43830 MINUTE

关于MYSQL:用户在一段时间内最后一次处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54272559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com