SQL: список сортировки для размеров обуви для детей

На данный момент у меня есть список, который выставляет размеры обуви. Вот как выглядит список, например.

1, 1,5, 2, 2,5, 10, 10,5, 11, 12, 13,5

И мне нужно, чтобы это выглядело так: 10, 10.5, 11, 12, 13.5, 1, 1.5, 2, 2.5

Спасибо, я знаю, что вы можете сделать это с помощью ORDER BY, но я потерпел неудачу. Спасибо. Вот какой пример того, что я пробовал.

ORDER BY priority=0, priority asc
2 ответа

Если вы можете спроектировать вычисление заказа, вы можете использовать его в ORDER BY, например, в вашем примере кажется, что, регулируя размеры 10+ ниже <10 размеров, а затем все еще упорядочивая восходящий:

SELECT * FROM Shoes ORDER BY CASE WHEN Size >= 10 THEN Size - 20 ELSE Size END ASC;

SqlFiddle здесь


Вы должны добавить еще один столбец в таблицу размеров size_type. Новый столбец должен иметь два возможных значения: взрослый и ребенок.

Вы бы сделали свой первый сортировку в столбце "size_type" и второй сортировке в столбце размера.

licensed under cc by-sa 3.0 with attribution.