![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: нет Всего: 29 |
В дополнение к теме: http://forum.vingrad.ru/forum/topic-210702.html . Как я понял существует более простое решение для вопроса поднятого там. Вот полные условия моей задачи:
Есть таблица игроков в Шахаматы и таблица сыгранных ими партий. В таблице партий для каждой игры значатся идентификаторы игроков из первой таблицы. Каждая партия имеет какой-то результат: победа одного игрока, другого, ничья, незавершённая игра. Требуется выбрать игроков из первой таблицы и упорядочить их согласно количеству вышеприведённых результатов для каждого игрока. Как примерно должен выглядеть запрос, который выполнит поставленную задачу? |
|||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 4 Всего: 42 |
Где-то так. Синтаксис может быть несколько не MySQL-ный, но мне лень создавать таблицы и проверять. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: нет Всего: 29 |
Fortop, спасибо.
Получился такой SQL:
Что надо здесь изменить, чтобы получился MySQL'ный синтаксис? P.S. Перепробовал несколько вариантов, но так ничего и не добился. |
|||
|
||||
Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 4 Всего: 42 |
Wolf1994, посмотреть какой синтаксис имеет условный оператор в SQL запросе для MySQL
Добавлено через 1 минуту и 17 секунд http://dev.mysql.com/doc/refman/5.1/en/con...-functions.html Добавлено через 2 минуты и 41 секунду Да, и для значения NULL тоже ![]() Добавлено через 5 минут и 34 секунды если оно не пройдет, то можешь просто присваивать 2 к примеру а в запрос перед GROUP BY добавить WHERE WIN=1 И еще такой момент не торопись со своим
Добейся, чтобы оно сначала работало как
А потом уже убедшь усложнять запрос. Потому что у тебя ошибок куча. -------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: нет Всего: 29 |
Перепробовал кучу вариантов. Положительного результата не смог добиться. Сдаюсь. Мне это не по силам. Нужен либо работающий пример. Либо пример, с объясненим работающей логики.
Это сообщение отредактировал(а) Wolf1994 - 12.5.2008, 20:14 |
|||
|
||||
Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 4 Всего: 42 |
Создаем статус для каждой партии и игрока. Если он победил - то 1, иначе NULL
Считаем сколько было побед у игроков. (значения с NULL у нас не будут считатся) группируем по игрокам и сортируем, чтобы максимальное количество очков было вверху.
Это сообщение отредактировал(а) Fortop - 12.5.2008, 23:52 -------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: нет Всего: 29 |
Fortop, благодарю за помощь!
Вопрос решён. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |