Om een zinvol rijnummer te hebben, moet u uw resultaten ordenen. Dan kun je zoiets als dit doen:
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
Merk op dat de WHERE-component van de subquery moet overeenkomen met de WHERE-component of de primaire sleutel van de hoofdquery en de ORDER BY van de hoofdquery.
SQL Server heeft de constructie ROW_NUMBER() OVER om dit te vereenvoudigen, maar ik weet niet of MySQL iets speciaals heeft om dit aan te pakken.
Aangezien mijn bericht hier als het antwoord werd geaccepteerd, wil ik ook het antwoord van Dan Goldstein noemen, dat qua benadering erg op elkaar lijkt, maar een JOIN gebruikt in plaats van een subquery en vaak beter zal presteren