bop*_*ard 4 sql postgresql aggregate inner-join
我需要构建一个联接,为我提供每种产品的最新价格。为了示例的目的,我极大地简化了表结构,每个表的行数将达到数百万。我之前在这方面的尝试并不是非常有效。
Joa*_*son 11
在 PostgreSQL 中,您可以尝试DISTINCT ON仅按降序获取每个产品 id 的第一行create_date;
SELECT DISTINCT ON (products.id) products.*, prices.*
FROM products
JOIN prices
ON products.id = prices.product_id
ORDER BY products.id, create_date DESC
Run Code Online (Sandbox Code Playgroud)
(当然,除了说明目的之外,您当然应该选择您需要的确切列)