SQL: Repita uma linha de resultado várias vezes e numere as linhas

Eu tenho uma consulta SQL com um resultado como este:

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

Agora eu quero expandir isso para que cada linha com umcount maior que 1 ocorre várias vezes. Eu também preciso que essas linhas sejam numeradas. Então eu pegaria:

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

Eu tenho que fazer este trabalho em todos os principais bancos de dados (Oracle, SQL Server, MySQL, PostgreSQL e talvez mais). Portanto, uma solução que funcione em bancos de dados diferentes seria ideal, mas maneiras inteligentes de fazê-lo funcionar em qualquer banco de dados são bem-vindas.

questionAnswers(9)

yourAnswerToTheQuestion