Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запись в таблицу отсортированных позиций её же записей. / 5 сообщений из 5, страница 1 из 1
08.02.2014, 06:15:13
    #38554274
Zomboss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в таблицу отсортированных позиций её же записей.
Знаю, название ужасное :) Но суть вот в чём: в таблице есть имя, некие очки и рейтинг. Нужно отсортировать все записи по очкам и записать в рейтинг последовательный порядковый номер записи в этом списке. Т.е.
вася | 10 очков | 1 место
петя | 3 очка | 3 место
коля | 5 очков | 2 место
Как получить такой рейтинг в выборке я нашёл:
SELECT @n:=@n+1 as pos, playerId FROM `table` t1, (SELECT @n := 0) t2 order by points
Но вот как записать это обратно в таблицу, если нельзя делать апдейт на основе выборки из обновляемой таблицы?
Можно кодом прочитать выборку и каждую строку отдельно апдейтить, но это как-то совсем не изящно.
...
Рейтинг: 0 / 0
08.02.2014, 06:29:08
    #38554277
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в таблицу отсортированных позиций её же записей.
Zomboss,

примерно попробуйте. СКЛ не провереный,
но идея должна быть рабочей

update TBL t0,
(
SELECT @n:=@n+1 as pos, playerId FROM `TBL` t1, (SELECT @n := 0) t2 order by points
) zz
set t0.position = zz.pos
where t0.player_id = zz.payer_id
...
Рейтинг: 0 / 0
08.02.2014, 11:25:08
    #38554323
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в таблицу отсортированных позиций её же записей.
Zombossесли нельзя делать апдейт на основе выборки из обновляемой таблицыЭто и не требуется, можно сразу update писать - 7489347
...
Рейтинг: 0 / 0
08.02.2014, 14:06:43
    #38554379
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в таблицу отсортированных позиций её же записей.
miksoft,

авторно это как-то совсем не изящно.

Оно с самого начала ужасно. Что по известному закону порождает подобное.
...
Рейтинг: 0 / 0
08.02.2014, 17:35:25
    #38554498
Zomboss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в таблицу отсортированных позиций её же записей.
miksoftZombossесли нельзя делать апдейт на основе выборки из обновляемой таблицыЭто и не требуется, можно сразу update писать - 7489347
Отлично, спасибо!
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запись в таблицу отсортированных позиций её же записей. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]