Question

J'ai une table avec plusieurs colonnes sur lesquelles je voudrais agréger, j'ai déjà agrégé les jours absolus, mais maintenant je veux agréger relativement. Dans ma table, j'ai un horodatage, et je voudrais regrouper par une plage de dates afin que le jour de Datestamp soit 0, le lendemain de 1 et ainsi de suite.

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

Puis-je agréger le retour d'une fonction, ou existe-t-il une meilleure façon d'aborder ce problème.

Si je peux agréger sur le résultat d'une fonction, y a-t-il déjà des fonctions dans SQL, ou comment cela pourrait-il être résolu?

Était-ce utile?

La solution

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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top