gpt4 book ai didi

mysql - 如何获取自倒数第二次登录以来更改的项目?

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

我有以下两个表:

表名为评论:(一个ID可以存在多次)该ID意味着,以下评论是针对具有该ID的用户进行的。

名为login_history的表:

如何获取自用户倒数第二次登录以来的评论数量(一条评论由表 reviews 中的 id 表示)?

示例:

假设一个 id 19 的用户登录。当他登录时,一个新值将被插入到 login_history 中。这看起来像 2017-04-05 19:00:00, 19。然后,对他的评论进行编辑,并且 modified 值发生更改。如果用户随后注销并重新登录,他应该会看到某种消息:“自您上次登录以来已编辑了 1 个新评论”。

这方面的困难部分是在运行查询之前将新行插入到 login_history 中,例如在用户访问“新评论”页面之前。

如何通过一条sql查询得到想要的结果?

编辑1:

评论的示例数据:https://hastebin.com/uhoyupuvem.sqllogin_history 的示例数据:https://hastebin.com/ququzequsu.sql

最佳答案

第一:

查找上次登录日期(从 skayp 答案复制):

SELECT `for_date`
FROM `login_history`
WHERE `user` = 10
ORDER BY `for_date` DESC
LIMIT 1,1

然后使用此结果作为比较的一部分:

SELECT * FROM `test`.`reviews` WHERE `modified` > (SELECT `for_date`
FROM `login_history`
WHERE `user` = 10
ORDER BY `for_date` DESC
LIMIT 1,1)

因此,您拥有该用户在倒数第二次登录之前所做的所有修改。

关于mysql - 如何获取自倒数第二次登录以来更改的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43232454/

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