我正在使用ORACLE 11G数据库
我有一张有这些栏的桌子:
item, cod_line, business, cod_business, cod_ez_catalog_product_brand, business_unit, last_update_date它被称为:products_table
看一看(我正在筛选特定的产品):
SELECT item, cod_line, business, cod_business, cod_ez_catalog_product_brand, business_unit, last_update_date
from products_table
WHERE ITEM = '94TERFERE'我得到了这个输出:

我只想在最更新的"last_update_flag“值中得到一行,在本例中是这样的:

我做了这个:
SELECT item, cod_line, business, cod_business, cod_ez_catalog_product_brand, business_unit, last_update_date
from
(
SELECT
item, cod_line, business, cod_business, cod_ez_catalog_product_brand, business_unit, last_update_date,
row_number() over (partition by last_update_date order by last_update_date desc) as rnum
FROM XX_OTC_PRODUCTOS_OUT
where item in ('94TERFERE')
and end_date_active is null
order by last_update_date desc
)sub
where rnum = 1;但是我没有得到1行,我从10条记录中得到了8行!

预期结果:

我做错什么了?
发布于 2022-10-07 22:26:05
您需要逐项分区,而不是last_updated_date。
https://stackoverflow.com/questions/73992710
复制相似问题