Ein kleines SQL Problemchen

JuliaH

Neuling
Thread Starter
Mitglied seit
11.01.2008
Beiträge
44
Ich habe in kleines Problemchen.

Ich habe eine Tabelle aus drei Spalten:
- Name
- Datum
- Grösse

Hintergrund: In der Tabelle stehen die Dateien samt Grössen, die in einem Repository erstellt wurden. Datum ist dabei das Erstellungsdatum. Das sieht dann so aus:

- CMCREP (Name)
- 01.01.2007 (Datum)
- 114MB (Grösse)

Nun habe ich meine Abfrage so formuliert, dass ich die Übersicht nach Monaten bekomme.

Das bedeutet: Im April 2006 wurde im Repository XY Dateien mit einer Grösse von 200MB erstellt, im Mai 100MB und so weiter.

Mein Problem: Wie kriege ich es hin, dass er mir die Grösse vom Vormonat zum aktuellen Monat dazuaddiert? Beispiel: Im April waren es 120MB und im Mai kamen noch 40 MB dazu. Nach meiner jetzigen Abfrage würde er für April 120MB anzeigen und für Mai dann 40. Ich will es aber so haben, dass er für April 120 anzeigt und für Mai 160 (120 + 40).

Hier meine Abfrage:
Code:
select 
  rep_name "Repositoryname", 
  to_char(erst_datum, 'YYYY.MM') "Monat und Jahr", 
  round (sum(file_size)/1024/1024, 1) "Repositorygrösse in MB"
from 
  repo_size
group by 
  rep_name, 
  to_char(erst_datum, 'YYYY.MM')
order by 
  1,2;

Die Datenbank ist Oracle 10g.

Danke.
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
select ... where erst_datum between to_date('01/01/2006','dd/mm/yyyy') and to_date('31/03/2006','dd/mm/yyyy')
 
Bringt mich zwar nicht weiter, aber danke.

Problem gelöst.
 
Ist zwar für Oracle 9i, geht aber mit dem 10g genau so:

Code:
select rep_name, monat,
 round((SUM(mb) OVER (PARTITION BY rep_name ORDER BY monat
RANGE UNBOUNDED PRECEDING)),1)  total_size
 from
    (select rep_name, to_char(erst_datum, 'YYYY-MM') monat, sum(file_size)/1024/1024 mb
    from repository
    group by rep_name, to_char(erst_datum, 'YYYY-MM')
order by 1,2);

'cuda
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh