Se você quer a classificação, faça algo como
SELECT id,num,rank FROM (
SELECT id,num,rank() OVER (ORDER BY num) FROM foo
) AS bar WHERE id=4
Ou se você realmente quiser o número da linha, use
SELECT id,num,row_number FROM (
SELECT id,num,row_number() OVER (ORDER BY num) FROM foo
) AS bar WHERE id=4
Eles serão diferentes quando você tiver valores iguais em algum lugar. Há também denso_rank() se você precisar disso.
Isso requer o PostgreSQL 8.4, é claro.