where節でselectを実行しようとしています。mysqlのWHERE内でSELECTを実行できますか?
基本的に、私はいくつかのユーザーを持っており、どのユーザーがアクティブであるかを確認しようとしています。アクティブとは、過去30日間にアクティビティを記録したことを意味します。しかし、ユーザーテーブルをアクティビティテーブルに結合すると、重複したユーザーIDが取得されます(各ユーザーが複数のアクションを記録している可能性があるため)。
私は、少なくとも1つのアクションがあったことを各ユーザーごとにチェックする場所を選択することを検討していました。
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
はので、ここでの質問は(HTTPあなたが – Satya
に直面している問題は、[明確な]ないはずは何かということですdev.mysql.com/doc/refman/5.0/en/distinct-optimization.html)トリックをやりますか? –