[英]PostgreSQL - Get all rows with min max value
我有一个 PostgreSQL 表,我在表中有一个 bigint 类型的 unix_time 列。
当向表中添加新行时,时间戳将添加到 unix_time 列。
我正忙于编写 Python 脚本来提取时间 A 和时间 B 之间的所有行,我当前的解决方案是使用 while 循环遍历表中从第一行到最后一行的每一行。
有没有更有效的方法来做到这一点?
有没有办法让我只对 select 具有给定范围内的值的特定行 - 或具有大于或等于给定 integer 的值的行?
您将描述一个where
子句:
select *
from mytable
where unix_time >= $1 and unix_time < $2
$1
和$2
是查询的参数,表示您要过滤的区间的范围。
您可能想根据实际情况调整不等式; 这使用半开区间,这是一种广泛使用的解决方案。 如果你想要一个包含两边的区间,你也可以使用between
:
where unix_time between $1 and $2
试试 BETWEEN 子句。 搜索一些很好的例子。 这是一个页面。
SELECT t_name_product
FROM Products
WHERE c_price BETWEEN x AND y;
或 SELECT t_name_product 来自产品,其中 c_price > x AND c_price <= y;
请记住,如果您使用 AND 或 OR,您会得到不同的结果。
对于您关于大于或等于的最后一个问题:
SELECT t_name_product
FROM Products
WHERE Price >= 100;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.