Het volgende geeft de gewenste uitvoer:
SQL:
1
2
3
4
5
6
7
| select a.woord, a.getal
from tabel a
inner join tabel b
on a.getal = b.getal
and b.datum <= a.datum
group by a.woord, a.getal
order by count(b.getal), a.getal |
Het werkt door alle velden met hetzelfde nummer te tellen die een oudere of gelijke datum hebben.
De oudste heeft alleen zichzelf als gelijke, dus dat is waarde 1, de volgende krijgt waarde 2, op die waarde wordt gesorteerd, en daarna op getal, zodat je rijtjes krijgt zoals de TS vraagt.