sql - 在postgresql表中查找最大条目,sql
问题描述
我有一张有几百万个条目的表。我想知道一年(2018 年)给定分钟内出现的最大条目数。
我最初的策略是找出哪个月的条目数量最多。像这样:
- 月
SELECT date_part('month', create_time), count(*)
FROM mydb.mytable
WHERE date_part('year', create_time) = 2018
GROUP BY date_part('month', create_time)
然后,这将给我一年中的某个月的最大值。我将继续进行日,小时月,最终以例如:
- 分钟
SELECT date_part('minute', create_time), count(*)
FROM mydb.mytable
WHERE date_part('year', create_time) = 2018
AND date_part('month', create_time) = 6
AND date_part('day', create_time) = 19
AND date_part('hour', create_time) = 11
GROUP BY date_part('minute', create_time)
ORDER BY count DESC
使用这种策略,我发现每分钟的最大条目数将是例如 250。
然而,事实证明这是一个错误的策略。
巧合的是,我发现其中一个月的条目数显着减少的月份实际上每分钟的条目率更高,例如 700。
所以问题是,我怎样才能找到一年内每分钟的最大条目数,而不必“探索”我的方式?
解决方案
将时间截断为分钟,按此分组,然后计数:
SELECT
date_trunc('minute', create_time),
count(*)
FROM mydb.mytable
GROUP BY 1
ORDER BY 2 DESC
推荐阅读
- python - Python语法错误——投币机问题
- c++ - std::iterator 是否继承自某种 auto_ptr?
- c++ - 如何读取特定数量的字符
- testing - “[TestNG] 未找到测试。没有运行任何内容”消息
- java - 用while循环计算负整数和正整数
- serial-port - 如何通过 PICC 的寄存器设置激活 UART(rs-232)?
- python-3.x - 迭代地将新数据追加到 pandas 数据框列并与另一个数据框连接
- python - OpenCV 检测相机但不返回图像馈送,而 guvcview 确实
- amazon-web-services - 按存储桶策略列出 S3 存储桶
- python - 为什么这几乎相同的代码会产生不同的结果