warlinx
@warlinx

Как определить ближайшую к текущей дату на Oracle SQL?

Как вывести цены, которые по дате ближе всего к текущей на SQL ?
Столбцы подобного вида
60d991821865d656324634.png
По части данного вопроса ответы дали в комментариях
*************************************************************************************************************************
Более подробно формулирую
Требуется вывести цены для каждой категории товара, которые ближе всего к текущей
60d9aee796a5a913031643.png
  • Вопрос задан
  • 117 просмотров
Решения вопроса 2
@Akina
Сетевой и системный админ, SQL-программист.
SELECT *
FROM tablename
WHERE datecolumn <= CURRENT_DATE
ORDER BY datecolumn DESC 
FETCH FIRST 1 ROWS WITH TIES
Ответ написан
Fernus
@Fernus
Техник - Механик :)
нужно найти цену на каждый товар в каждом месте на текущую дату. Поскольку существует много цен на одну и ту же комбинацию item/location, используйте значения sales_retail, наиболее близкие к текущей дате, то есть последняя action_date, которая <= текущая дата).


Если я правильно понял, то вот, как вариант...

SELECT *, DiffDays (ACTION_DATE) AS D
FROM `table`
WHERE ACTION_DATE <= CURRENT_DATE
GROUP BY ITEM, LOCATION
ORDER BY D
/*LIMIT 10*/ /* Лимит кол-ва "ближайших" дат...если нужно, то раскомментировать...*/


P.S.: Возможно придётся ещё изменить запрос...ибо условие не совсем понятное...тут нужно уточнить...из каждой группы ITEM/LOCATION по одной ближайшей дате?
Тогда мой запрос не совсем подойдёт...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы