SELECT
COUNT(*) AS num_elements,
SUM(some_value) AS like_to_sum,
TRUNC(SYSDATE) - TRUNC(your_date) AS rel_date
FROM the_large_table
GROUP BY TRUNC(SYSDATE) - TRUNC(your_date);
Агрегировать по относительному диапазону дат в Oracle SQL
Вопрос
У меня есть таблица с несколькими столбцами, по которым я хотел бы агрегировать, я уже агрегировал по абсолютным дням, но теперь я хочу агрегировать относительно.В моей таблице у меня есть временная метка, и я хотел бы сгруппировать по диапазону дат, чтобы день метки даты был равен 0, день после 1 и так далее.
SELECT count(*) num_elements, sum(some_value) like_to_sum, reldate
FROM the_large_table
GROUP BY *** what goes here *** reldate.
Могу ли я агрегировать результаты, возвращаемые из функции, или есть лучший способ подойти к этой проблеме.
Если я могу агрегировать результат из функции, существуют ли какие-либо функции для этого уже в SQL, или как это можно решить?
Решение
Не связан с StackOverflow