powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сортировка данных и их изменение в одном запросе
12 сообщений из 12, страница 1 из 1
Сортировка данных и их изменение в одном запросе
    #38521164
SKAJIbnEJIb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не знаю, можно ли так, но в общем задача следующая.
Имеется статистика игроков(фраги, смерти и так далее), в таблице есть колонка place(место в статистике). Через определенное время, нужно отсортировать игроков по формуле: фраги-смерти и записать в колонку place место игрока.

Можно ли как то это все сделать в один запрос? Чтобы MySQL сервер сам это все сделал?
Я скриптом отсортировывал таблицу, получал значения, и для каждого игрока отсылал запрос UPDATE, чтобы обновилось его место. Игроков стало много, и запросов соответственно тоже. Можно что то с этим придумать?
...
Рейтинг: 0 / 0
Сортировка данных и их изменение в одном запросе
    #38521229
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SKAJIbnEJIbМожно ли как то это все сделать в один запрос? Чтобы MySQL сервер сам это все сделал?Да. Но без структуры таблицы (show create table ...) и формулы/метода расчёта рейтинга больше ничего посоветовать нельзя.
SKAJIbnEJIbформуле: фраги-смертиэто минус или ...?
...
Рейтинг: 0 / 0
Сортировка данных и их изменение в одном запросе
    #38521383
SKAJIbnEJIb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,
Ну формула есть, фраги-смерти (да, это минус)
На счет структуры не понял, зачем ее знать? Можно поподробней, если можно будет это все осуществить, я буду несказанно рад)))
...
Рейтинг: 0 / 0
Сортировка данных и их изменение в одном запросе
    #38521403
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SKAJIbnEJIb,

7489347
...
Рейтинг: 0 / 0
Сортировка данных и их изменение в одном запросе
    #38521542
SKAJIbnEJIb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Уже пол часа втыкаю, не понимаю.

Сортирую по формуле frags-deaths
place - место игрока, которое нужно узнать и записать
authid - его уникальный идентификатор

SET @type := '', @num := 1;

SELECT authid,
@num := if(@type = type, @num + 1, 1) AS place,
@type := type AS authid
FROM players
ORDER BY frags-deaths;

Помогите мои данные засунуть в этот код
http://www.xaprb.com/blog/2006/12/15/advanced-mysql-user-variable-techniques/
...
Рейтинг: 0 / 0
Сортировка данных и их изменение в одном запросе
    #38521551
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SKAJIbnEJIb,

откуда у вас взялся SELECT?
по ссылке, которую я дал, сразу работает UPDATE.
...
Рейтинг: 0 / 0
Сортировка данных и их изменение в одном запросе
    #38521586
SKAJIbnEJIb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,
Я с телефона сижу, не правильно ссылка открылась.
Короче, я поставил, протестил, и это работает! Спасибо тебе огромное, правда выручил!)
...
Рейтинг: 0 / 0
Сортировка данных и их изменение в одном запросе
    #38521781
SKAJIbnEJIb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Хотелось бы узнать для общего развития, как работает данный код
update // обновляем значение
players // в этой таблице
set // устанавливаем значение
place= // в эту колонку, которая равна:
(
select @a:= @a + 1 from
(
select @a:= 0
)
s // что это?
)
order by // сортируем
frags-deaths DESC; // по этой формуле


Вот place=и тут ничего не понял
...
Рейтинг: 0 / 0
Сортировка данных и их изменение в одном запросе
    #38521791
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s - это алиас подзапроса. MySQL требует обязательного указания алиасов для подзапров, даже там, где логически в этом нет необходимости.
@a - это переменная.
...
Рейтинг: 0 / 0
Сортировка данных и их изменение в одном запросе
    #38521855
SKAJIbnEJIb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Хмм
select @a:= @a + 1 from (select @a:=0)
Тут select возвращает число, которое надо записать в данной последовательности 1,2,3...

from (select @a:=0)
А вот тут не понял
Зачем давать переменной значение 0? И что тут select возвратит? Вообще чего то не догоняю((
...
Рейтинг: 0 / 0
Сортировка данных и их изменение в одном запросе
    #38521862
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SKAJIbnEJIbfrom (select @a:=0)
А вот тут не понял
Зачем давать переменной значение 0? И что тут select возвратит? Вообще чего то не догоняю((это первоначальная инициализация переменной.
...
Рейтинг: 0 / 0
Сортировка данных и их изменение в одном запросе
    #38522003
SKAJIbnEJIb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Ладно, видимо сложные запросы это не мое)
Спасибо еще раз!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сортировка данных и их изменение в одном запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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