warlinx
@warlinx

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

Как вывести цены, которые по дате ближе всего к текущей на SQL ?
Столбцы подобного вида
60d991821865d656324634.png
По части данного вопроса ответы дали в комментариях
*************************************************************************************************************************
Более подробно формулирую
Требуется вывести цены для каждой категории товара, которые ближе всего к текущей
60d9aee796a5a913031643.png
  • Вопрос задан
  • 2274 просмотра
Решения вопроса 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 по одной ближайшей дате?
Тогда мой запрос не совсем подойдёт...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект