Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте,
имеется таблица результатов в играх - games
структура примерно такая:
game1 | nickname1 | date1 | result1
game1 | nickname2 | date2 | result2
game1 | nickname1 | date3 | result3
game1 | nickname3 | date3 | result4
где result1>result2>result3>result4
Требуется показать игроков, занявших первые три места в игре.
Проблема в том, что при запросе типа:
SELECT result,nickname FROM games ORDER BY result DESC LIMIT 3
первое и третье место "занимает" игрок nickname1, что неправильно
Предполагаю, что нужно сформировать таблицу с максимальными результатами для каждого игрока в этой игре и уже эту таблицу сортировать.
Подскажите как?
Неактивен
Неактивен
vasya написал:
SELECT max(result) result
ни я, ни mysql синтаксис в этом месте не поняли
можно пояснить?
Неактивен
и еще, GROUP BY, насколько я понимаю, может выкинуть любую результирующую строку по nickname1
в итоге может получиться, что игроки по местам распределятся неверно, т.е.
1. nickname2
2. nickname1 c результатом result3
3. nickname3
Неактивен
ants написал:
и еще, GROUP BY, насколько я понимаю, может выкинуть любую результирующую строку по nickname1
в итоге может получиться, что игроки по местам распределятся неверно, т.е.
1. nickname2
2. nickname1 c результатом result3
3. nickname3
Это может произойти, если другие поля выбираются без группирующих функций. а в данном случае max(result) выберет максимальное значение.
Неактивен
ants написал:
vasya написал:
SELECT max(result) resultни я, ни mysql синтаксис в этом месте не поняли
можно пояснить?
А что пишет MySQL?
Это сокращенная форма от max(result) AS result
Ключевое слово AS можно опустить.
Неактивен
vasya написал:
ants написал:
vasya написал:
SELECT max(result) resultни я, ни mysql синтаксис в этом месте не поняли
можно пояснить?А что пишет MySQL?
Это сокращенная форма от max(result) AS result
Ключевое слово AS можно опустить.
спасибо, все ок
я эту же конструкцию запроса мусолил целый день сегодня и она выдавала неверные результаты
оказалось, что поле result было text...
Неактивен