Я знаю, что есть похожие вопросы по SO, но, к сожалению, я не нашел ответ на свой вопрос, поэтому спрашиваю здесь.
Моя структура таблицы результатов выглядит следующим образом:
id item_id price group
-------------------------------
1 3472 NULL
2 234 300 1
3 4872 150 1
4 1109 100
5 5582 300 0
6 144 150 2
7 1384 NULL 1
8 627 100 2
* Столбец 1006 * может иметь значения NULL, а столбец group
может содержать пустые результаты.
Таблица сортируется по цене.
Что мне нужно:
Заказать набор результатов по двум столбцам - цена и группа
Результаты с одинаковыми price
должны быть заказанысначала по группам (по возрастанию) результаты с той же ценой, но без группы идут за ними.
NULL всегда должны быть последними независимо от порядка сортировки price
(DESC или ASC).
Итак, таблица с порядком должна выглядеть так:
id item_id price group
-------------------------------
8 627 100 2
4 1109 100
3 4872 150 1
6 144 150 2
5 5582 300 0
2 234 300 1
7 1384 NULL 1
1 3472 NULL
Когда мне нужно сделать заказ с NULL в последний раз, я использую что-то вроде:
ORDER BY ISNULL(column), column
И упорядочение по нескольким столбцам обычно не является проблемой, но я просто придерживался этого.Я провел несколько часов безрезультатно.