sql - PostgreSQL - 获取所有具有最小值最大值的行
问题描述
我有一个 PostgreSQL 表,我在表中有一个 bigint 类型的 unix_time 列。
当向表中添加新行时,时间戳将添加到 unix_time 列。
我正忙着编写一个 Python 脚本来提取时间 A 和时间 B 之间的所有行,我当前的解决方案是使用 while 循环遍历表中从第一行到最后一行的每一行。
有没有更有效的方法来做到这一点?
有没有办法让我只选择值在给定范围内的特定行 - 或值大于或等于给定整数的行?
解决方案
您将描述一个where
子句:
select *
from mytable
where unix_time >= $1 and unix_time < $2
$1
和$2
是查询的参数,代表您要过滤的间隔的范围。
您可能想根据实际情况调整不等式;这使用半开区间,这是一种广泛使用的解决方案。如果你想要一个包含两边的区间,你也可以使用between
:
where unix_time between $1 and $2
推荐阅读
- c# - RedirectToRoute 不去控制器
- alibaba-cloud - 查询阿里巴巴云计费API BOA
- ruby - ruby:如何避免对类名进行硬编码?
- excel - 每次从具有绿色背景且 value = 0 的 Range("B1 : B5") 单元格计数时,添加 range("B6") 的值
- c - atomic_load 和 __atomic_load 的区别?
- html - 加载后如何缩放/调整图像大小?
- c - C程序接收TCP数据流
- reactjs - 在渲染外部使用阿波罗客户端变异的问题
- linux - 当我尝试传递 2 个变量时,将未知选项设置为 `s
- ios - Flutter 登录苹果失败