Я пишу запрос, который возвращает первую строку набора сгруппированных данных. Я попытался с помощью НАД РАЗДЕЛА пунктом, но так или иначе я не получаю желаемого результата:ORACLE Запрос для возврата First Row для DataSet
select row_number() OVER(PARTITION BY leafv , value_group , l1d ,l2d ,l3d ,l4d ,l5d ,l6d ,l7d
order by leafv , value_group , l1d ,l2d ,l3d ,l4d ,l5d ,l6d ,l7d
) MYROWNUM ,
S.*
from
(SELECT
NVL(CASE
WHEN (SELECT parameter_value
FROM V_CONFIG_PARAMETERS
WHERE rownum = 1
AND parameter_name = 'MOMENT_ITEM_NUMBER_TYPE') = 'S'
THEN sku
WHEN (SELECT parameter_value
FROM V_CONFIG_PARAMETERS
WHERE rownum = 1
AND parameter_name = 'MOMENT_ITEM_NUMBER_TYPE') = 'U'
THEN upc
WHEN (SELECT parameter_value
FROM V_CONFIG_PARAMETERS
WHERE rownum = 1
AND parameter_name = 'MOMENT_ITEM_NUMBER_TYPE') = 'C'
THEN CUSTOM_PRODUCT_CODE
END,'NULLVALUE') leafv,
nvl(chain_name,'NULLVALUE') value_group,
nvl(level_10_description ,'NULLVALUE') l10d,
nvl(level_1_description,'NULLVALUE') l1d,
nvl(level_2_description,'NULLVALUE') l2d,
nvl(level_3_description,'NULLVALUE') l3d,
nvl(level_4_description,'NULLVALUE') l4d,
nvl(level_5_description,'NULLVALUE') l5d,
nvl(level_6_description,'NULLVALUE') l6d,
nvl(level_7_description,'NULLVALUE') l7d,
nvl(level_8_description,'NULLVALUE') l8d,
nvl(level_9_description,'NULLVALUE') l9d
FROM t_product_catalog_flat
order by leafv , value_group , l1d ,l2d ,l3d ,l4d ,l5d ,l6d ,l7d ,l8d ,l9d ,l10d) S
order by MYROWNUM
Ожидаемые результаты: 1 строка для каждого набора данных, имеющих одинаковое значение для группы столбцов (leafv, value_group, l1d, l2d, l3d, l4d, l5d, ldd, lddd, lddd, lddd, lddd, ldd, ldd, ldd, ldd, ldd, Пожалуйста, предложите возможное решение
Все эти RowNum = 1 фильтр просто возвращает один (случайный!) Строки из соответствующих таблиц, прежде чем вы даже получите, чтобы сделать что-нибудь еще с ними. Затем ROW_NUMBER() OVER (....) должен быть во внутреннем запросе; внешний запрос должен иметь только фильтр WHERE RN = 1. – mathguy
Спасибо за ответ. Не могли бы вы рассказать немного больше о своем предложении. – Pradeep