आपने जो सबक्वायरी दृष्टिकोण सुझाया है, वह द्विघात रूप से स्केल होगा। http://www. xaprb.com/blog/2006/12/02/how-to-number-rows-in-mysql/ उपयोगकर्ता चर के साथ अधिक कुशल दृष्टिकोण दिखाता है। यहां आपकी समस्या के लिए एक परीक्षण न किया गया अनुकूलन है:
@points := -1; // Should be an impossible value.
@num := 0;
SELECT id
, points
, @num := if(@points = points, @num, @num + 1) as point_rank
, @points := points as dummy
FROM `users`
ORDER BY points desc, id asc;