Gruppierung nach Zeitraum in t-sql

Ich versuche eine Abfrage auf diese Tabelle:

Id       startdate     enddate       amount
1        2013-01-01   2013-01-31      0.00
2        2013-02-01   2013-02-28      0.00
3        2013-03-01   2013-03-31      245
4        2013-04-01   2013-04-30      529
5        2013-05-01   2013-05-31      0.00
6        2013-06-01   2013-06-30      383
7        2013-07-01   2013-07-31      0.00
8        2013-08-01   2013-08-31      0.00

Möchte ich die Ausgabe:

2013-01-01          2013-02-28          0
2013-03-01          2013-06-30          1157
2013-07-01          2013-08-31           0

Wollte ich das Ergebnis, so würde ich wissen, wenn das Geld begannen zu kommen und wenn es gestoppt. Ich bin auch daran interessiert, die Anzahl der Monate, bevor das Geld begann kommen in (die erklärt, dass die in der ersten Zeile), und die Anzahl der Monate, wo das Geld aufgehört hat (was erklärt, warum ich interessiere mich auch für die 3. Reihe für Juli 2013 bis Aug 2013).

Ich weiß, dass ich verwenden können, min und max auf das Datum und die Summe auf dem Betrag, aber ich kann nicht herausfinden, wie man die Datensätze geteilt, so.

Danke!

  • vielen Dank für das Bearbeiten Mahmoud Gamal. Ich war versucht, die Frage zu stellen, von meinem android-Handy.
  • Basierend auf was willst du die Gruppierung?
  • Es sieht aus wie Sie möchten-Gruppe aufeinander folgenden Zeilen von null und nicht null, aber warum würde Sie nicht trennen Kann die Reihe?
  • Er versucht zu erstellen, die drei Scheiben für die Daten - (1) kein Geld kommen, (2) Geld kommen, (3) keine Geld kommen wieder. Die zwei Perioden der Trockenheit wird die Buchstütze der Zeit, als das Geld ankam.
  • basierend auf inklusive Termine, wo der Betrag ist null und nicht null.
  • ja, @Igitt ist die richtige. Ich würde nicht wollen, zu trennen, der Kann die Zeile, denn Geld war noch im Juni kommen.

InformationsquelleAutor kunkka_71 | 2013-07-30
Schreibe einen Kommentar