我有一个非常简单的查询,它返回一个项目编号列表,它们输入系统的日期以及上次修改条目的日期:
SELECT DISTINCT asset_id, entered_date, modified_date
FROM price_data
问题在于,有时候商品的定价不止一次,导致条目具有相同的asset_id和entered_date,但是不同的modified_dates。上述查询的工作原理是它返回价格,但它返回重新定价的任何内容的原始条目和最新条目。如何使此查询仅返回最新的价格值,而不是两个已重新定价的项目?
任何帮助将不胜感激!非常感谢。
答案 0 :(得分:1)
您可以按照您想要的唯一列进行分组,然后为每个组选择最高modified_date
SELECT asset_id, entered_date, max(modified_date)
FROM price_data
GROUP BY asset_id, entered_date
答案 1 :(得分:0)
select p.*
from price_data p
join (select asset_id, max(modified_date) as last_modified_date
from price_data
group by asset_id) v
on v.last_modified_date = p.modified_date
您不能在不影响结果的情况下按价格分组,因此您必须在内联视图中单独选择最新修改日期,然后再加入实际表格。