Существует ли способ указать процедуру сортировки ORDER BY или некоторую пользовательскую логику? То, в чем я нуждаюсь, должно проверить некоторые другие данные на заказываемый столбец, который находится также в строке. Например, если один столбец имеет более высокое значение, чем другой, но определенное условие не соблюдено, это отсортировано как ниже. Прямо сейчас я вытягиваю все данные в столбце, сортирую его в PHP с usort () и затем нумерую страницы его, но это - довольно плохой пожиратель ресурсов производительности. Я действительно хотел бы переместить его в MySQL, действительно ли это возможно? Если так, как?:P
Заранее спасибо!
Пример проблемы на веб-сайте здесь - записи отсортированы на проценте победы, но игроки, у которых есть 1 игра, в которую играют, собираются на вершине с 100%-й победой. Я хотел бы установить порог на играх и затем виде их ниже, даже при том, что их процент победы выше.
Вы можете упорядочить по нескольким выражениям:
ORDER BY games_played < 10, wins / losses DESC
Первое выражение сортирует всех тех игроков, которые сыграли 10 или более игр, выше всех игроков, которые сыграли менее 10 игр. Второе выражение сортируется по соотношению выигрыш/проигрыш. Второе выражение используется только для строк тай-брейка, которые были равны для первого выражения. Это означает, что игрок, сыгравший 10 игр, всегда будет появляться выше игрока, сыгравшего только 9 игр, независимо от соотношения выигрыш/проигрыш.