我试图在where子句中执行选择。我可以在mysql中的WHERE中执行SELECT吗?
基本上,我有一些用户,并试图查看哪些是活动的。活动意味着他们在过去30天内记录了活动。但是,如果我通过活动表加入用户表,则会得到重复的用户标识(因为每个用户可能已记录多个操作)。
所以我在考虑把选择放在哪里,以检查每个用户是否至少有一个动作。
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
所以这里的问题是什么是你面对 – Satya
不应[鲜明](HTTP问题:// dev.mysql.com/doc/refman/5.0/en/distinct-optimization.html)诀窍? –