我有4张桌子(Sale,User,StatusSale和SaleHistory)
SaleHistory有来自Sale,User和StatusSale的外键
我的桌子SALEHISTORY
我想从每个Sale的所有最后记录中选择ID,但如果status_sale_id是以下之一,则 ONLY :[1,10,11,12,13,14,15,16, 17,18,19]
我用这个来获得销售的最后记录:
SELECT DISTINCT ON(sale_id) *
FROM sales_status_histories
ORDER BY sale_id, created_at DESC
但在这种情况下,我不知道该怎么做。
有人可以帮助我吗?
答案 0 :(得分:1)
您将对status_sale_id使用WHERE
子句。
例如:
WITH CTE
AS (
SELECT
*
,ROW_NUMBER() OVER (PARTITION BY sale_id ORDER BY created_at DESC) AS rn
FROM sales_status_histories
)
SELECT *
FROM CTE
WHERE rn=1
AND status_sale_id IN (1,10,11,12,13,14,15,16,17,18,19)