sql - SQL:选择对应于不同列的最常出现的值
问题描述
有人可以为我的问题指出正确的解决方案。我有一张桌子-
+------+-------+--------------------------------------+
| id | num | date |
+------+-------+--------------------------------------+
| a | 1 | 2011-08-12T20:17:46.384Z |
| a | 1 | 2011-08-12T20:18:46.384Z |
| a | 2 | 2011-08-12T20:19:46.384Z |
| a | 2 | 2011-09-12T20:17:46.384Z |
| c | 3 | 2011-09-12T20:18:46.384Z |
+------+-------+--------------------------------------+
现在对于给定的日期范围,我想获取列“num”中出现次数最多的值,作为“id”值。
范围(2011-08-12T00:00:00.000Z 到 2011-08-12T23:59:00.000Z)的结果应该是
| a | 1 | 090518 |
基本上,我想要与给定日期时间范围内的 id 对应的列中出现次数最多的值。
我将使用 PostgreSQL。
解决方案
这对你有什么作用?
select max(c.id) id, c.num, c.cnt from
(select id, max(cnt) cnt from (
Select id, num, count(*) cnt
from #temp
group by id, num)a group by id)b
join
(Select id, num, count(*) cnt
from #temp
group by id, num)c on b.id=c.id and b.cnt=c.cnt
group by c.num, c.cnt
推荐阅读
- pandas - 如果数据框中的一个值是 NaN,则检查 pandas 并将其替换为 0
- python-3.x - 如何将授权标头添加到请求中,以便在标头上存在访问令牌时可以访问带有 @jwt_required 的烧瓶路由
- asp.net-core - 忽略数据模型中的属性,同时将它们保留在 EF Core 迁移和数据库表中
- python - FixedRateBond 类对价格债券给出错误
- angular - Angular 9 PWA 哈希不匹配(cacheBustedFetchFromNetwork)
- ios - CABasicAnimation 到达终点的速度比它设置的时间快
- angular - 输入验证在 web 中有效,但在 andriod/ios 中无效
- java - Intellij:-source 8 中不支持私有接口方法
- .net - gilab-ci.yaml - 无法使用 dotnet 运行 Nunit 测试
- flutter - Group Dart 等待调用单个语句