2012-06-28 5 views
0

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

Мой вопрос в том, как работает mysql с сортировкой, когда два элемента имеют одинаковое значение?

например.

Продукты сортируются по их позиции (так что позиция 1 будет отображаться вверху).

Однако, если у меня есть 3 продукта, назначенных позициям 1 и 2 продуктов, назначенных на позицию 2, как 3 продукта, назначенных по позиции 1, отсортированы по умолчанию? Будет ли это быть конкретным для системы электронной торговли или существует ли значение mysql, например ID?

Я надеюсь, что это достаточно ясно, я не смог найти действительно хорошие ответы от Google.

ответ

2

Вы можете указать дополнительные поля, по которым нужно заказывать, самые ранние имеют приоритет, но последние решают, как разорвать связи. Например:

ORDER BY foo ASC, bar DESC 
+0

Отлично, я дам это! Кто знал, что это будет так просто? – user319940

0

Результаты случайные, так как не будет применен ни один "заказ по умолчанию". Если вам нужно сортировать по нескольким столбцам вы можете сделать это, как этот

order by position, id, date 
0

Вы можете дать несколько имен столбцов (например, А, В, С) в пункте ORDER BY. Когда значения равны в A, тогда B используется для принятия решений о сортировке. Если он также равен B, то используется C. Это называется лексикографическим порядком. См. Любую SQL-документацию команды SELECT и ORDER BY.

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