Нахождение ранга или индекса какого-либо имени в массиве, возвращаемом запросом

0

Я запускаю запрос, который возвращает минимум 1000 строк, содержащих имя, сумму в количестве заказа desc. Я хочу, чтобы индекс какого-либо имени из этого массива, я не знаю, как это сделать?

Поскольку я использую Ruby, я использую метод arr.index(name) +1, который возвращает индекс правильно. Но я хочу некоторый запрос MySQL, который дает мне только числа для этого конкретного имени.

Теги:
ranking

1 ответ

1
Лучший ответ

В MySQL нет рейтинговой функциональности. Самое близкое, что вы можете получить, это использовать переменную:

SELECT t.*, 
       @rownum := @rownum + 1 AS rank
  FROM TABLE t, (SELECT @rownum := 0) r

Это добавит столбец с именем rank к вашему выводу, который будет уникальным, увеличится и начнется с 1.

  • 0
    +1 - лучше моего (сейчас удаленного) ответа.
  • 0
    Спасибо, это работает, когда я изменил вышеуказанный запрос следующим. Единственное изменение, которое я сделал, это: @rownum = @rownum + 1 на @rownum: = @rownum + 1 SELECT t. *, @Rownum: = @rownum + 1 AS Rank ОТ дорожек t, (SELECT @rownum: = 0) r
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню