Dans SQL Server, vous pouvez le faire avec l'agrégation et la différence des numéros de lignes :
select HevEvenementID, HteTypeEvenID,
max(HjvNumeSequJour)
from (select t.*,
row_number() over (partition by HevEvenementID order by HjvNumeSequJour) as seqnum_1,
row_number() over (partition by HevEvenementID, HteTypeEvenID order by HjvNumeSequJour) as seqnum_2
from yourtable t
) t
group by HevEvenementID, HteTypeEvenID, (seqnum_1 - seqnum_2)
order by max(HjvNumeSequJour);
Je pense que la meilleure façon de comprendre comment cela fonctionne est de regarder les résultats de la sous-requête. Vous verrez comment la différence entre les deux valeurs définit les groupes de valeurs adjacentes.