sql - SQL - 创建一个查询,显示在特定时间范围内登录最多的用户
问题描述
我的桌子是这样的
时间戳 | 用户身份 |
---|---|
日期 | 用户1 |
日期 | 用户2 |
日期 | 用户1 |
日期 | 用户3 |
日期 | 用户1 |
日期 | 用户2 |
我只是想创建一个 sql 状态来选择所有用户并按照他们在特定时间段内登录的次数对其进行排序。
我做了它来区分选择用户,但不是更多......
SELECT DISTINCT userid
FROM mytable
WHERE timestamp >= '2021-01-01' AND timestamp <= '2021-01-02';
解决方案
我们可以像下面这样使用 Group by 吗?
select count(*), userid FROM mytable WHERE timestamp >= '2021-01-01' AND timestamp <= '2021-01-02' group by userid;
推荐阅读
- javascript - 在弹出窗口中定位尚未在 dom 中的元素
- node.js - 如何以简单的方式强制结束 Response() ExpressJS?(NodeJS)
- docker - 为 Docker Dind 服务设置代理
- angular - 尽管 ngrx 有效负载中的数据正确,但更新 UI 时出现问题
- postman - Postman 使用 Slack 集成通知 3 次失败,然后第一次成功
- angular - 以离子角度将视频上传到 vimeo
- node.js - 在 NodeJS 中运行 R 脚本时产生 Rscript ENOENT 错误
- node.js - vue-cli 项目登录不优雅?
- r - 如何使用 expand.grid 值在 R 中运行 Ranger 的各种模型超参数组合
- c# - ASP.Netcore MVC - Razor 使用 efcore 按月/年行显示类别的费用总额和每月的总费用