У меня есть таблица вроде этого:MySQL - Как получить строки номер
tb_bid_test
+-------------+---------------------+
| Field | Type |
+-------------+---------------------+
| username | varchar(20) |
| poin | bigint(20) |
+-------------+---------------------+
тогда я запустить этот запрос:
select @r := @r+1 as rank, z.* from(SELECT username, sum(poin) as jumlahPoin FROM `tb_bid_test` GROUP BY username order by jumlahPoin desc limit 3)z, (select @r:= 0)y;
и результат:
+--------+------------+--------------+
| rank | username | jumlahPoin |
+--------+------------+--------------+
| 1 | neo | 500 |
| 2 | andhie | 348 |
| 3 | john | 123 |
+--------+------------+--------------+
я хочу получите 1 строку с именем пользователя иhie, например:
+--------+------------+--------------+
| rank | username | jumlahPoin |
+--------+------------+--------------+
| 2 | andhie| 348 |
+--------+------------+--------------+
или другое имя пользователя и получить оценку тоже, если я использую код до и добавить where username ='andhie'
ранг всегда 1. Как получить текущий ранг на основе их очков?
получить ошибку из-за ";" после "y". После исправления, этот код работает, спасибо – neneo