mysql - MYSQL:使用2个表的ID进行选择

mysql - MYSQL:使用2个表的ID进行选择,第1张

我真的不知道怎么问这个,所以我会恢复并且说到这一点。 我有2张桌子。

(我使用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

这样可行,但它会带来所有日志,这很好,因为我从未指定过"范围"我想要的。

所以我最后补充说:

WHERE time ' 15%'

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

我想过滤最近3个月的日志,其中" display_name"列包含" @" (我还需要使用昵称上的电子邮件过滤这些用户)

最佳答案:

1 个答案:

答案 0 :(得分:0)

如果列存储为日期,则使用:

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()功能。

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复