Frage

Ich habe eine Tabelle mit mehreren Spalten, auf die ich aggregieren möchte, ich habe bereits an absoluten Tagen zusammengefasst, aber jetzt möchte ich relativ aggregiert. In meiner Tabelle habe ich einen Zeitstempel, und ich möchte nach einem Datumsbereich gruppieren, damit der Tag des Datumsangestellten 0, den Tag nach 1 und so weiter, 0 ist.

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

Kann ich bei der Rückkehr von einer Funktion zusammenhängen oder gibt es eine bessere Möglichkeit, diesem Problem zugehen?

Wenn ich das Ergebnis aus einer Funktion aggregieren kann, gibt es dann noch Funktionen dafür in SQL oder wie könnte dies gelöst werden?

War es hilfreich?

Lösung

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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top