[英]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.