Я работаю над таблицей результатов в минуту, я хочу сортировать таблицу по пунктам (максимально вверху), если точки равны. Я хочу сортировать по разнице мячей, а затем, если разность мячей равна, я хочу сортировать по забитым голам.
Таким образом, таблица может выглядеть так,
+--------+--------+----------+-----------------+--------+ | Team | Scored | Conceded | Goal Difference | Points | +--------+--------+----------+-----------------+--------+ | Team A | 20 | 10 | +10 | 15 | | Team B | 20 | 15 | +5 | 15 | | Team C | 10 | 10 | 0 | 9 | | Team D | 5 | 5 | 0 | 9 | +--------+--------+----------+-----------------+--------+
Таким образом, команда A выигрывает лигу, потому что она имеет лучшую разницу в мячах, чем команда B, команда C заканчивается над командой D, потому что они набирают больше голов, а все остальное равно.
Можно ли заказать этот способ в mysql, или мне нужно будет анализировать результаты с помощью PHP?
Угадайте, что вы можете передать несколько имен столбцов в ORDER BY
SELECT * FROM mytable ORDER BY Points DESC, `Goal Difference` DESC, Scored DESC
Вы не указали свою структуру таблицы, но, как указано в jpg, если эти поля не являются числовыми, ORDER by field_name + 0 может быть более подходящим
Вы можете сделать это с помощью запроса
SELECT * from `your_table` ORDER BY points DESC, goal_difference DESC, scored DESC
Вы можете заказать несколько столбцов одновременно.
SELECT some_cols FROM table WHERE (some conditions) ORDER BY col1 DESC, col2, col3;