Domanda

Ho una tabella con diverse colonne su cui vorrei aggregare, mi sono già aggregato nei giorni assoluti, ma ora voglio aggregare relativamente. Nel mio tavolo ho un timestamp e vorrei raggruppare per un intervallo di date in modo che il giorno di DateSamp sia 0, il giorno dopo 1 e così via.

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

Posso aggregare il ritorno da una funzione o esiste un modo migliore per affrontare questo problema.

Se posso aggregare il risultato da una funzione, ci sono funzioni già in SQL o come potrebbe essere risolto?

È stato utile?

Soluzione

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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top