我有以下2个表......
用户
user_id, name, age
user_score
score_id, user_id, score, date(timestamp)
user_score表应该记录每2小时更新一次的所有用户的所有分数。
因此,我需要获取所有用户ID的列表,这些用户ID在过去2小时或根本没有更新(对于新玩家)。我猜我将不得不使用INNER JOIN?
非常感谢任何帮助。
答案 0 :(得分:3)
您需要left join
或not exists
。您只需要过去两小时内没有活动的所有记录(这也包括新用户):
select u.*
from users u
where not exists (select 1 from user_score us
where u.user_id = us.user_id and
us.date >= date_sub(now(), interval 2 hour)
);