如何在postgresql中选择最近30天内的日期?

问题描述 投票:0回答:1

sql表有出租车司机的数据,列是:

id  integer
client_id   integer (Foreign keyed to events.rider_id)
driver_id   integer
city_id integer (Foreign keyed to cities.city_id)
client_rating   integer
driver_rating   integer
predicted_eta   integer
actual_eta  integer
first_completed_date Timestamp ,
status  Enum(‘completed’, ‘cancelled_by_driver’, ‘cancelled_by_client’)

如何计算过去 30 天内所有已完成行程的实际预计到达时间与预测预计到达时间之间的 90% 差异?

select

  percentile_cont(0.90) within group (order by actual_eta-predicted_eta) as percentile_90_diff

from trips t where status='completed'

and first_completed_date > (first_completed_date - INTERVAL '30 DAY')::DATE

我关心最后一部分 -first_completed_date > - 在过去 30 天内。 从first_completed_date计算过去30天的正确方法是吗?

postgresql datetime timestamp
1个回答
0
投票

您将“first_completed_date”与其自身进行了比较,但是,需要将其与当前日期减去 30 天进行比较

first_completed_date > NOW() - INTERVAL '30 DAY';
© www.soinside.com 2019 - 2024. All rights reserved.