Wenn Ihr dbms Fensterfunktionen unterstützt, können Sie die row_number-Differenz verwenden, um derselben Gruppe aufeinanderfolgende Werte (die identisch sind) in einer Spalte zuzuweisen. Nach dem Zuweisen der Gruppen ist es einfach, die Werte für jede Gruppe zu summieren.
select col1,sum(col2)
from (select t.*,
row_number() over(order by someid)
- row_number() over(partition by col1 order by someid) as grp
from tablename t
) x
group by col1,grp
Ersetzen Sie Tabellenname, Spalte1, Spalte2, Someid mit den entsprechenden Spaltennamen. Someid sollte die Spalte sein, die von bestellt werden soll.
(1) Markieren Sie Ihre Frage mit der von Ihnen verwendeten Datenbank. (2) SQL-Tabellen repräsentieren * ungeordnete * Mengen. Ohne eine Spalte zur Angabe der Reihenfolge ist Ihre Frage bedeutungslos. –