Pergunta

Eu tenho uma tabela com várias colunas em que gostaria de agregar, já agreguei em dias absolutos, mas agora quero agregar relativamente. Na minha mesa, tenho um registro de data e hora e gostaria de agrupar até um intervalo para que o dia do DataSestamp seja 0, o dia seguinte a 1 e assim por diante.

SELECT count(*) num_elements, sum(some_value) like_to_sum, reldate 
FROM the_large_table 
GROUP BY *** what goes here *** reldate. 

Posso agregar o retorno de uma função ou existe uma maneira melhor de abordar esse problema.

Se eu puder agregar o resultado de uma função, já existem funções para isso no SQL, ou como isso pode ser resolvido?

Foi útil?

Solução

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);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top