【发布时间】:2020-07-31 12:01:21
【问题描述】:
【问题讨论】:
-
欢迎来到 Stack Overflow!请注意,纯 text 非常适合数据。不是图像。始终声明您的 Postgres 版本。并尝试明确你的任务。您的问题有解释的余地。
标签: sql postgresql date greatest-n-per-group
【问题讨论】:
标签: sql postgresql date greatest-n-per-group
对于单个给定的product_id:
SELECT * -- which columns do you need?
FROM product p
JOIN productfee f ON f.valid_from <= p.date
WHERE p.product_id = 2
ORDER BY f.valid_from DESC
LIMIT 1;
如果表大小不一,最好至少有以下索引:
CREATE INDEX ON product (product_id);
CREATE INDEX ON productfee (valid_from DESC);
(或者更专业,取决于完整的图片。)
如果valid_from 可以是NULL,请考虑NULLS LAST。见:
显然,您将使用正确的 date 或 timestamp 类型,而不仅仅是月份名称。
【讨论】: