2013-09-25 3 views
0

Должен быть довольно простой вопрос. Сделал некоторые исследования самостоятельно, но мог бы использовать небольшое разъяснение.MySQL - второй параметр ORDER BY в запросе

У меня есть таблица для спортивной программы, в которой участвуют команды в лиге в соответствии с их процентной ставкой. Вот этот бит:

// Make the query to order each team by rank: 
$q = "SELECT * FROM football_1314_beacha_standings ORDER BY pct DESC"; 
$r = mysqli_query($db, $q); 

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

Скажем, команда А равна 2-0, имеет процент выигрышей 0,999% и первичный ключ 1; Команда B составляет 6-0 и имеет тот же процент выигрыша и первичный ключ 2. Я бы хотел, чтобы команда с большим количеством выигрышей была выше других. Итак, мне нужно дополнительное условие ORDER BY.

Я попытался просто добавить запятую и добавить второе имя столбца:

// Make the query to order each team by rank: 
$q = "SELECT * FROM football_1314_beacha_standings ORDER BY pct, win DESC"; 
$r = mysqli_query($db, $q); 

Это работает до такой степени, помещая команду с большим количеством побед над другой, но по какой-то причине скидывает общий заказ поставив команды с самым низким процентом выигрыша в верхней части турнирной таблицы. Не уверен, почему он это делает.

Все советы очень ценятся!

ответ

5

Я полагаю, решение будет:

$q = "SELECT * FROM football_1314_beacha_standings ORDER BY pct DESC, win DESC"; 
+0

Doh! Благодарю. :) – 712Jefferson

1

Вам нужно написать DESC дважды. После «pct» И «выиграть»

+0

Спасибо, а! – 712Jefferson

Смежные вопросы