我正在尝试在 where 子句中执行选择。
基本上,我有很多用户,并试图查看哪些是活跃的。活跃意味着他们在过去 30 天内记录了活动。但是,如果我将用户表与活动表连接起来,那么我会得到重复的用户 ID(因为每个用户可能已经记录了多个操作)。
因此,我正在考虑在其中检查每个用户是否有至少一个操作的地方。
SELECT u FROM `users` u
where (
select count(*) FROM `user_activity` ua
where ua.user_id = u.user_id and ua.last_login between "2012-04-01 00:00:00" and "2012-04-30 23:59:59"
) >= 1