PostgreSQL - 获取具有最小最大值的所有行

PostgreSQL - Get all rows with min max value

我有一个 PostgreSQL table,我在 table 中有一个 bigint 类型的 unix_time 列。

将新行添加到 table 时,时间戳将添加到 unix_time 列。

我正忙着编写一个 Python 脚本来提取时间 A 和时间 B 之间的所有行,我当前的解决方案是遍历 [=24= 中从第一行到最后一行的每一行] 使用 while 循环。

有没有更有效的方法来做到这一点?

有没有办法让我 select 仅具有给定范围内的值的特定行 - 或者具有大于或等于给定整数的值的行?

您将描述一个 where 子句:

select *
from mytable
where unix_time >=  and unix_time < 

</code> 和 <code> 是查询的参数,表示您要过滤的区间范围。

您可能想根据实际情况调整不等式;这使用半开间隔,这是一种广泛使用的解决方案。如果你想要两边都包含一个间隔,你也可以使用 between:

where unix_time between  and 

试试 BETWEEN 子句。搜索一些很好的例子。这是一个页面。

https://kb.objectrocket.com/postgresql/using-the-postgres-between-sql-operator-740#:~:text=In%20PostgreSQL%2C%20BETWEEN%20is%20typically%20used%20as%20part,that%20match%20values%20found%20between%20x%20and%20y.

SELECT t_name_product
FROM Products
WHERE c_price BETWEEN x AND y;

或 SELECT t_name_product 来自产品 其中 c_price > x 和 c_price <= y;

请记住,如果您使用 AND 或 OR,您会得到不同的结果。

关于大于等于的最后一个问题:

SELECT t_name_product 
FROM Products
WHERE Price >= 100;