0
A
回答
0
它使用的是row_number
功能做的最簡單的方法。
select p.name,t.amount as latest_price
from (select p.*, row_number() over(partition by product_id order by create_date desc) as rn
from prices p) t
join products p on p.id = t.product_id
where rn = 1
0
在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
(當然,除了說明目的,你當然應該選擇你需要的確切列)
相關問題
- 1. 加入最大日期從表
- 2. 噸-SQL最大日期加入
- 3. 最大和最小輸入日期
- 4. 加入最近的日期
- 5. 如何在postgres中添加相應的日期到分組最大/最小值?
- 6. 最大日期排
- 7. 最大和最小日期
- 8. 最小和最大日期
- 9. 可以優化查詢:獲取記錄的最大日期,然後加入最大日期的值
- 10. 設置日期輸入字段的最大日期爲今天
- 11. wijmo日期選擇器最大日期
- 12. 選擇最大日期和日期前
- 13. zabuto日曆最小和最大日期
- 14. datepicker日期範圍:最大日期的最短日期=開始日期+ 1天
- 15. Mysql的加入獲得最大的日期相關的表項
- 16. 從多個表中返回最大日期加入oracle
- 17. SQL如何從加入結果中選擇最大日期
- 18. 在Linq加入查詢中選擇最大日期
- 19. 如何從自加入表中獲取最大停止日期
- 20. SQL加入其中id等於ID和日期是最大
- 21. MySQL查詢自我加入最大日期
- 22. LINQ;如何獲得記錄與最大日期加入?
- 23. 加入兩個表,只顯示唯一值和最大日期
- 24. 如何代表最大日期加入兩個表格
- 25. 加入2表與已知變量排序最大(日期)
- 26. SQL獲取最大日期並加入其他表
- 27. Sql Server返回最大日期和日期最接近和大於最大日期
- 28. 在postgres的大桌子上加速按日期查詢
- 29. SQL加入最近的日期
- 30. LINQ加入lambda與最新日期
http://meta.stackoverflow.com/questions/285551/why-may-i- not-upload-images-of-code-on-so-when-asking-question/285557#285557 –
問題是由於您在編寫查詢時遇到問題以獲得正確結果嗎?或者,您在以有效的方式編寫查詢時遇到問題? –
@MarkHildreth只要數據集很小,我就可以整天寫「運行」查詢。一旦我嘗試在我的大型數據庫上運行這些相同的子查詢連接,它永遠不會返回結果。所以是的,這個問題肯定是有效的。 – bopritchard