0

我正在使用 mysql 并有一个存储用户登录日期的表 (Log_Table),这是一种日志记录表。我需要了解用户连续登录了多少天,或者我需要了解用户在过去 10 天内是否每天都登录。问题是我只需要在一个 SQL 选择命令中找到它。Log_Table 有一个user_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 回答