Para ter um número de linha significativo, você precisa ordenar seus resultados. Então você pode fazer algo assim:
SELECT id, name
, (SELECT COUNT(*) FROM people p2 WHERE name='Spiewak' AND p2.id <= p1.id) AS RowNumber
FROM people p1
WHERE name = 'Spiewak'
ORDER BY id
Observe que a cláusula WHERE da subconsulta precisa corresponder à cláusula WHERE ou à chave primária da consulta principal e o ORDER BY da consulta principal.
O SQL Server tem a construção ROW_NUMBER() OVER para simplificar isso, mas não sei se o MySQL tem algo especial para resolvê-lo.
Como meu post aqui foi aceito como resposta, também quero chamar a atenção para a resposta de Dan Goldstein, que é muito semelhante em abordagem, mas usa um JOIN em vez de uma subconsulta e geralmente terá um desempenho melhor