0

私はmysqlを使用しており、ユーザーのログイン日を保存するテーブル(Log_Table)、一種のログテーブルを持っています。ユーザーが連続して何日ログインしているかを調べる必要があるか、ユーザーが過去 10 日間毎日ログインしているかどうかを調べる必要があります。問題は、たった 1 つの SQL select コマンドでそれを見つける必要があるということです。Log_Table には 1user_id:intつのlogin_date:DATEフィールドがあります

4

1 に答える 1

2

http://sqlfiddle.com/#!2/56437/7

SELECT user_id,
       COUNT( DISTINCT DATE( login_date )) AS days
FROM   Log_Table
WHERE  login_date > DATE_SUB( CURRENT_TIMESTAMP, INTERVAL 3 DAY )
GROUP BY user_id
HAVING days >= 3;
于 2012-06-16T22:01:21.313 に答える