我正在尝试创建SQL,以显示过去Y天内我API的X位最活跃的用户。我的目标是确定大量用户。
用户表:
|----------|-----------------------| | user_id | etc | |----------|-----------------------| | 2 | | | 99 | | |----------|-----------------------|
API活动表架构:
|----------|-----------------------|
| user_id | date |
|----------|-----------------------|
| 2 | 2019-11-24 10:01:56 |
| 99 | 2019-11-24 10:01:56 |
| 99 | 2019-11-24 10:30:56 |
| 99 | 2019-11-24 10:30:56 |
| 5 | 2019-11-23 10:30:56 |
| 5 | 2019-11-23 10:30:56 |
| 2 | 2019-11-23 10:01:56 |
|----------|-----------------------|
预期结果:
|----------|-----------------------|-----------|
| user_id | date | count |
|----------|-----------------------|-----------|
| 99 | 2019-11-24 | 3 |
| 5 | 2019-11-23 | 2 |
|----------|-----------------------|-----------|
我的查询如下:
SELECT s.search_date,s.user_id,count(s.user_id)
FROM search s
GROUP BY s.user_id
ORDER BY s.search_date;
我的查询返回的是用户整天的总计数,并且他们的最近活动日期在日期列中。