sql - SQL 语句根据以前的条目返回数字并分组
问题描述
对于具有 userid1、userid2、clicktime 的给定表
我想返回之前我们有一个带有 userid1=userid2 的条目的条目数,反之亦然。整个事情按月分组
它应该算数
userid1 userid2 clicktime
34 67 january
67 34 december
结果应该是这样的:
Day Number_of_Matches
12/22/2016 23
12/23/2016 3
12/24/2016 33
解决方案
假设您希望任何用户组合都有一行,并且每一行都有 2 个不同的用户 ID:
select case
when userid1>userid2 then userid1
when userid1<userid2 then userid2 end as userid1,
case
when userid1<userid2 then userid1
when userid1>userid2 then userid2 end as userid2,
clicktime, count(*) from table
group by 1,2,3
如果您希望拥有 2 种组合,只需:
select
userid1,userid2,clicktime, count(*)
from table
group by 1,2,3
我假设点击时间是一个独特的月份
推荐阅读
- python - ImportError: No module named 'sklearn.compose' with scikit-learn==0.23.2
- mysql - MySQL和MariaDB之间的用户定义变量分配区别
- javascript - 如何使用 react-parallax 更改移动和桌面的 bg 图像?
- detectron - Detectron2 检查点未找到
- ios - 自定义 UITableViewCell 的动态高度问题
- python - Django Rest Framework AttributeError:尝试获取字段值时出现 AttributeError
- laravel - 使用 Astrotomic / laravel-translatable 包和 laravel 添加多种语言
- autodesk-forge - 来自 Bim360 api 的位置
- javascript - 如何强制 Chromium 的垃圾收集器在 JS 中运行?
- javascript - 收听(捕获)iframe 控制台日志