Функция ранга SQL?

Надеюсь, это правильный термин для этого.

По сути, у меня есть онлайн база данных sql, php посередине со ссылкой на мое приложение для Android

Столбцы, Пользователь и Целое число. Сортируется по возрастанию, поэтому сначала нужно целое число.

Мне бы хотелось, чтобы у каждого пользователя был ранг, то есть человек вверху — 1, человек после 2, по сути, независимый возрастающий список чисел.

Что было бы лучшим способом сделать это, если бы я должен был добавить еще одну строку в таблицу, или эта функция может быть достигнута с помощью запросов sql / php

0

Решение

Просто использовать rownum в вашем запросе вам не нужна дополнительная строка:

MySQL:

SELECT
t.*, @rownum := @rownum + 1 AS rank
FROM
users_table t,
(SELECT @rownum := 0) r
ORDER BY
t.`integer` DESC

MSSQL & Oracle:

SELECT
t.*, ROW_NUMBER() OVER (ORDER BY t.`integer` DESC) AS rank
FROM
users_table t
ORDER BY
t.`integer` DESC
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]