Announcement

Collapse
No announcement yet.

Gruppieren von aufeinanderfolgenden gleichen Einträgen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Gruppieren von aufeinanderfolgenden gleichen Einträgen

    Hallo zusammen,

    ich bin hier gerade an einem Problem mit dem Gruppieren von Datensätzen, bei dem ich nicht weiter komme.
    Mein Problem erkläre ich am besten anhand eines Beispiels. Es gibt folgende Tabelle:

    BspTable
    id Datum Fach entnommen
    1 01.08.2020 - 10:00 A 5
    2 01.08.2020 - 10:05 A 4
    3 01.08.2020 - 10:10 B 10
    4 01.08.2020 - 10:15 C 8
    5 01.08.2020 - 10:20 C 3
    6 01.08.2020 - 10:25 A 6
    7 01.08.2020 - 10:30 A 2
    Gruppiert werden soll jetzt nach Fächern, allerdings möchte ich nach aufeinanderfolgende gleiche Fächer gruppieren und dann die Summe der entnommenen Gegenstände bilden, also so:

    1. Gruppe: Fach A, entnommen: 9
    2. Gruppe: Fach B, entnommen: 10
    3. Gruppe: Fach C, entnommen: 11
    4. Gruppe: Fach A, entnommen: 8

    Ich nutze meine Datenbank in Verbindung mit php und könnte das naturülich auch dort alles machen, aber es wäre deutlich einfacher, wenn die Daten schon direkt "vorsortiert" aus der Datenbank kommen.

    Mit
    GROUP BY Fach
    würde ich ja alle 4 Einträge gruppieren (was ich auch wunderbar hinbekomme, ist nur nicht das, was ich machen will ).
    Wie gesagt, es handelt sich um ein Beispiel, ich habe später andere und deutlich mehr Daten und ich kann auch nicht alles von Fach A gruppieren, da ich mit meinen Daten ein Wasserfall-Diagramm erzeugen will, was den zeitlichen Verlauf darstellen soll (ich möchte sozusagen zeigen, wie lange etwas aus Fach x genommen wurde, bevor ein anderes ausgewählt wurde).

    Könnt ihr mir hier weiterhelfen?

    Vielen Dank!

    ChrisG

  • #2
    Du brauchst ein weiteres Kriterium, welches entscheidet, dass
    - im ersten Fall A 9 mal entnommen wurde und
    - im zweiten Fall A 8 mal entnommen wurde

    Wenn du das hast, kannst du dieses als zusätzliches Kriterium zu gruppieren hinzufügen. Eine "Aufeinaderfolge" gibt es grundsätzlich in einer Datenbank nicht. Es wird jeder Datensatz einzeln betrachtet. Eine Reihenfolge kommt durch ein order by zustande.
    Christian

    Comment


    • #3
      Danke für deine schnelle Antwort.
      Dann werde ich mich mal auf die Suche nach einem weiteren Kriterium machen

      VG ChrisG

      Comment

      Working...
      X