php / mysql несколько порядков

Я работаю над таблицей результатов в минуту, я хочу сортировать таблицу по пунктам (максимально вверху), если точки равны. Я хочу сортировать по разнице мячей, а затем, если разность мячей равна, я хочу сортировать по забитым голам.

Таким образом, таблица может выглядеть так,

+--------+--------+----------+-----------------+--------+ | 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?

Solutions Collecting From Web of "php / mysql несколько порядков"

Угадайте, что вы можете передать несколько имен столбцов в 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;