अगर आप रैंक चाहते हैं, तो कुछ ऐसा करें
SELECT id,num,rank FROM (
SELECT id,num,rank() OVER (ORDER BY num) FROM foo
) AS bar WHERE id=4
या यदि आप वास्तव में पंक्ति संख्या चाहते हैं, तो उपयोग करें
SELECT id,num,row_number FROM (
SELECT id,num,row_number() OVER (ORDER BY num) FROM foo
) AS bar WHERE id=4
जब आप कहीं समान मूल्य रखते हैं तो वे भिन्न होंगे। यदि आपको इसकी आवश्यकता है तो सघन_रैंक () भी है।
इसके लिए निश्चित रूप से PostgreSQL 8.4 की आवश्यकता है।