mysql - 检索重复的最新记录的问题
问题描述
我在检索具有重复 ID 的最新记录时遇到问题。
产品表
product id prodoctcode
1 po1
2 po2
3 po3
4 po4
5 po5
6 po6
7 po7
价格表
priceid product id price yearadded
1 1 10 2018
2 1 13 2019
3 2 14 2015
4 2 15 2016
5 3 16 2019
6 4 17 2017
7 4 18 2015
我想要只检索最新记录的结果。
product id prodoctcode price yearadded
1 po1 13 2019
2 po2 15 2016
3 po3 16 2019
4 po4 17 2017
我尝试了选择distinct(product id)
但没有运气
解决方案
您还需要加入 max yeardded 的子查询
select
a.`product id`, a.prodoctcode, b.price, b.yearadded
from
producttable a
inner join
pricetable b on a.`product id` = b.`product id`
inner join
(select `product id`, max(yearadded) year
from pricetable
group by `product id`) on t.`product id` = b.`product id` and t.year = b.yearadded
推荐阅读
- python - Xpath 表达式选择相对于当前节点的元素
- autodesk-forge - 如何使用“Autodesk.Geolocation”为模型设置地理位置
- reactjs - getDerivedStateFromProps() 覆盖 reactjs 中的 setstate 值
- sql - 从另一个表中插入唯一值
- angular - 如何在 karma Angular8 中对 StripeJs 进行单元测试
- python-3.x - Pytorch autograd.grad如何写多个输出的参数?
- c++ - 错误:无法将 'const char**' 转换为 'const char (*)[64]'
- python - 从数据框中删除“days 00:00:00”
- scala - 使用 IntelliJ 从 Azure EventHub 获取 Scala 中时间窗口的数据
- sql - 使用时间戳和当前日期每小时和每天从 Oracle 数据库中获取数据