gpt4 book ai didi

MYSQL:使用2个表的ID进行选择过滤

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

我真的不知道如何问这个问题,所以我会继续讲重点。我有 2 张 table 。

(我使用 Wordpress,所以你可能知道这些表格)

表 1 = wp_users(包含 id 列和 display_name 昵称)

表2 = wp_simple_login_log(包含uid列,它是用户的ID,应该与wp_users中的ID相同。它也包含 time 列,其中最后一条日志以这种格式记录(2015-3-11))

表2的作用是保存每个用户最后一次登录的日期。表 1 包含我网站的所有用户。

我想选择过去 3 个月登录的所有用户。这就是我想做的。

SELECT *
FROM `wp_simple_login_log`
INNER JOIN `wp_users` ON wp_users.id = wp_simple_login_log.uid

这有效,但它带来了所有日志,这很好,因为我从未指定我想要的“范围”。

所以我在最后添加:

地点时间“%2015%”

这显然不起作用,所以我在这里,有什么想法吗?

我想过滤过去 3 个月的“display_name”列包含“@”的日志(我还需要过滤那些昵称上包含电子邮件的用户)

最佳答案

如果该列存储为日期,那么您将使用:

SELECT *
FROM wp_simple_login_log l INNER JOIN
wp_users u
ON u.id = l.uid
WHERE l.time >= date_sub(curdate(), interval 3 month);

如果存储为字符串,则进行显式转换:

SELECT *
FROM wp_simple_login_log l INNER JOIN
wp_users u
ON u.id = l.uid
WHERE date(l.time) >= date_sub(curdate(), interval 3 month);

对于YYYY-MM-DD格式,转换只需使用date()函数即可。

关于MYSQL:使用2个表的ID进行选择过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30789965/

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