SQL: Powtarza wiersz wyników wiele razy i numeruje wiersze

Mam zapytanie SQL z wynikiem takim jak ten:

<code>value | count
------+------
foo   |     1
bar   |     3
baz   |     2
</code>

Teraz chcę to rozwinąć, aby każdy wiersz zawierałcount większy niż 1 występuje wielokrotnie. Potrzebuję również ponumerowania tych wierszy. Więc dostałbym:

<code>value | count | index
------+-------+------
foo   |     1 |     1
bar   |     3 |     1
bar   |     3 |     2
bar   |     3 |     3
baz   |     2 |     1
baz   |     2 |     2
</code>

Muszę wykonać tę pracę na wszystkich głównych bazach danych (Oracle, SQL Server, MySQL, PostgreSQL i może więcej). Zatem rozwiązanie, które działa w różnych bazach danych, byłoby idealne, ale sprytne sposoby na to, aby działały w dowolnej bazie danych, są doceniane.

questionAnswers(9)

yourAnswerToTheQuestion