gpt4 book ai didi

mysql - 我可以在 mysql 的 WHERE 中执行 SELECT 吗?

转载 作者:行者123 更新时间:2023-11-29 00:46:18 24 4
gpt4 key购买 nike

我正在尝试在 where 子句中执行选择。

基本上,我有很多用户,并试图查看哪些是活跃的。活跃意味着他们在过去 30 天内记录了事件。但是,如果我将用户表与事件表连接起来,则会得到重复的用户 ID(因为每个用户可能记录了多个操作)。

所以我考虑在 where 中放置一个选择,它会检查每个用户是否至少有一个操作。

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

最佳答案

SELECT u
FROM users u
where EXISTS ( select null
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"
LIMIT 1)

感谢@Ami 指出关于子查询中的 LIMIT 1 可能会稍微提高性能

关于mysql - 我可以在 mysql 的 WHERE 中执行 SELECT 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10440052/

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