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