Per avere un numero di riga significativo è necessario ordinare i risultati. Quindi puoi fare qualcosa del genere:
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
Si noti che la clausola WHERE della sottoquery deve corrispondere alla clausola WHERE o alla chiave primaria della query principale e l'ORDINE PER della query principale.
SQL Server ha il costrutto ROW_NUMBER() OVER per semplificarlo, ma non so se MySQL ha qualcosa di speciale per affrontarlo.
Poiché il mio post qui è stato accettato come risposta, voglio anche richiamare la risposta di Dan Goldstein, che è molto simile nell'approccio ma utilizza un JOIN invece di una sottoquery e spesso funzionerà meglio