Gruppen aufeinanderfolgender Datensätze mit einem gemeinsamen Attribut auswählen?

Ich suche nach einer Abfrage, die in der Lage ist, aus einer einzelnen Tabelle so auszuwählen, dass aufeinanderfolgende Datensätze, für die ein Attribut gleich ist, zusammengeklappt werden. Ähnlich wie beim Gruppieren nach, aber anstatt jedes Vorkommen des Attributs zu gruppieren, möchte ich eine Gruppe für jeden aufeinanderfolgenden Bereich.

Beispieltabelle:

+-----+-----+
|order|group|
+-----+-----+
|1    |aaa  |
+-----+-----+
|2    |aaa  |
+-----+-----+
|3    |bbb  |
+-----+-----+
|4    |aaa  |
+-----+-----+
|5    |aaa  |
+-----+-----+
|6    |aaa  |
+-----+-----+
|7    |ccc  |
+-----+-----+
|8    |aaa  |
+-----+-----+

Beispiel gewünschtes Ergebnis:

+-----+-------------------+
|group|group_concat(order)|
+-----+-------------------+
|aaa  |1,2                |
+-----+-------------------+
|bbb  |3                  |
+-----+-------------------+
|aaa  |4,5,6              |
+-----+-------------------+
|ccc  |7                  |
+-----+-------------------+
|aaa  |8                  |
+-----+-------------------+

Ich kann keine gespeicherten Prozeduren verwenden.

Ich habe eine vage Vorstellung, dass ich mindestens eine Verschachtelungsebene zum Sortieren der Tabelle benötige (wahrscheinlich insgesamt mehr) und wahrscheinlich Variablen verwenden muss, aber nicht mehr. Bitte lassen Sie mich wissen, wenn Sie weitere Details benötigen.

EDIT: Abfragen zum Erstellen von Beispiel:

create temporary table tab (
    ord int,
    grp varchar(8)
);

insert into tab (ord, grp) values
(1, 'aaa'),
(2, 'aaa'),
(3, 'bbb'),
(4, 'aaa'),
(5, 'aaa'),
(6, 'aaa'),
(7, 'ccc'),
(8, 'aaa');

Antworten auf die Frage(3)

Ihre Antwort auf die Frage