lo fai con due query.


Prima esegui una query dove chiedi:

quando sarà il prossimo S? (limitata a 1)

-> estrai l'id che ottieni e l'utilizzi per creare la seconda query:

quanti I incontro fino all'id considerato?

e puoi fare così:

codice:
SELECT * FROM table WHERE tipo = s ORDER BY id LIMIT 1

estrai l'id che ottieni e poi fai la seguente query:

SELECT * FROM table WHERE tipo = I AND id < $id_stratto
Funziona... e utilizzerai 2 query per fare tutto.
Non solo, se desideri puoi sommare i risultati direttamente dentro la query utilizzando il comando SUM(campo); e il modificatore GROUP BY tipo.