У меня есть следующий запрос
SELECT COUNT(points) AS pos FROM xxx WHERE `points` >= '".$result->points."'
Таким образом, он выбирает позицию записи. Проблема возникает, когда 2 записи имеют одинаковые точки. Допустим, есть 4 записи. Это 1, 2, 4, 4, 5 (но я хочу 1, 2, 3, 3, 5, что мне кажется более разумным). Может кто-нибудь сказать мне, как этого добиться?
Ваш запрос;
"SELECT COUNT(points) AS pos FROM xxx WHERE `points` >= '".$result->points."'"
будет подсчитывать, сколько пользователей набрало как минимум столько же баллов, что всегда считается последним местом среди тех, у кого одинаковые баллы.
Если вместо этого посчитать, сколько пользователей Больше очки и добавив одну, вы будете считать пользователя первым местом среди тех же очков;
"SELECT 1 + COUNT(points) AS pos FROM xxx WHERE `points` > '".$result->points."'"
Других решений пока нет …