Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте всем уважаемым специалистам,
обращаюсь за помощью (не пинайте, практически ноль в SQL, чисто основы знаю, не более).
Есть запрос:
Неактивен
Вместо
ORDER BY point_res
попробуйте
ORDER BY point_res, points_castom_req
Если не получится, то приведите структуру таблиц, тестовое наполнение данных, требуемый результат в виде таблицы.
Желательно на sqlfiddle.com, см.
http://sqlfiddle.com/#!9/faf2f/1
Неактивен
deadka написал:
Вместо
ORDER BY point_res
попробуйте
ORDER BY point_res, points_castom_req
Если не получится, то приведите структуру таблиц, тестовое наполнение данных, требуемый результат в виде таблицы.
Желательно на sqlfiddle.com, см.
http://sqlfiddle.com/#!9/faf2f/1
Ваш вариант - это сортировка по двум значениям, а мне надо по сумме значений.
Дело в том, что оба этих значения - point_res и points_castom_req - вычисляемые (что происходит в самом запросе, в самом начале видно).
Неактивен
А почему
ORDER BY (point_res+points_castom_req) DESC
неверно? Так можно делать.
И - просьба разместить пример на sqlfiddle была не для красного словца
Неактивен
deadka написал:
А почему
ORDER BY (point_res+points_castom_req) DESC
неверно? Так можно делать.
SQL ERROR [ mysqli ]
Reference 'point_res' not supported (reference to group function) [1247]
SQL
deadka написал:
И - просьба разместить пример на sqlfiddle была не для красного словца
Если бы я что-то там понимал Я честно стараюсь разобраться, но... Пока не получается.
Неактивен
По поводу Вашей ошибки
https://stackoverflow.com/questions/177 … up-functio
подставьте в order by не point_res, а само значение, которое Вы обозвали point_res'ом, то есть
SUM( IF(up.first_player_score = g.first_player_score AND up.second_player_score=g.second_player_score,3,0)+ IF(up.first_player_score = g.first_player_score OR up.second_player_score=g.second_player_score,1,0))
и вместо второго значения points_castom_req
( SELECT SUM(IF(ucq1.answer = cq1.right_answer,5,0)) FROM `user_castom_question` ucq1 LEFT JOIN castom_question cq1 ON cq1.id=ucq1.`castom_req_id` WHERE ucq1.user_id = u.user_id AND cq1.tounament_id=g.tournament_id )
- тогда, думаю, сработает.
Опять же вопрос - в чем такая необходимость сортировать это именно средствами sql-запроса?
Почему бы не сделать это на клиенте?
По sqlfiddle - нужна структура ваших таблиц и данные.
Если на можете на sqlfiddle, то хотя бы вот так как тут
https://sqlinfo.ru/forum/viewtopic.php?pid=40086#p40086
то есть show create table t;
и сами данные
Неактивен
deadka
Низкий поклон!!! Сработало:
Неактивен
Отлично, но повторяю свою рекомендацию сортировать данные на клиенте, а не средствами запроса.
Ибо такая конструкция ОЧЕНЬ неоптимальная.
Неактивен