|
Программирование >> Руководство по sql
19.99 BU1032 1389 20 РС8888 1389 22.95 РС1035 1389 Порядок столбцов (price, titleid, pubJd) по сравнению с предьщущим примером не изменился, однако строки расположились по-другому: сначала идут строки с идентификационным номером издателя - 0736, затем - с номером 0877 и наконец - с номером 1389. Сортировка по возрастанию и по убыванию с помощью ключевых слов ASC (по возрастанию) и DESC (по убыванию) можно изменить порядок сортировки в каждом отдельном случае. По умолчанию данные сортируются в порядке возрастания. Для изменения порядка сортировки нужно использовать ключевое слово DESC. С помощью следующего запроса можно вывести цены в убывающем порядке: SQL: select price, title id, pub id from titles order by price desc, pub id Результат:
Обратите внимание, что в рамках каждой ценовой категории идентификаторы издателей по-прежнему сортируются в порядке возрастания. В зависимости от вашей системы, нулевые (NULL) значения могут располагаться либо в начале, либо в конце списка. Чтобы изменить порядок сортировки в столбце pub id, нужно выполнить следующий запрос: SQL: select price, title id, pub id from titles order by price desc, pub id desc
A как насчет выражений? Что делать, если нужно отсортировать результат по значению выражения из списка выбора? SQL позволяет использовать для этих целей позицию выражения в списке выбора (представленную целым числом) или заголовки (также называемые псевдонимами или метками). Некоторые системы позволяют использовать само выражение. Ниже приведен пример, в котором могут возникнуть проблемы при сортировке по выражению price * ytd sales из списка выбора: SQL: select pub id, price * ytd sales, price, title id from titles
0736 0877 0877 1389 0736 1389 66515.54 7856.25 81859.05 8096.25 NULL 2.99 20.95 19.99 21.59 NULL PS2106 MC3021 TC3218 BU7832 PS1372 PC9999 Сортировка no позиции. Предположим, что сначала результаты надо отсортировать по издателям, а затем по значению price * ytd sales. Поскольку это значение является выражением, для него нельзя использовать обычное имя столбца. Вместо него нужно использовать число 2, так как выражение является вторым элементом списка выбора. (Нумерация начинается с 1 и ведется слева направо. Числа со знаками (например, -2, +4 и т.д.) не допускаются и в любом случае не имеют никакого смысла.) SQL: select pub id, price * ytd sales, price, title id from titles order by pub id, 2 Результат:
Цифры можно использовать как для выражений, так и для обычных столбцов. Ключевые слова ASC и DESC аналогично применяются и к цифрам, и к заголовкам столбцов. В следующем примере данные сортируются в порядке возрастания по столбцу pub id, а затем в порядке убывания по столбцу price: SQL: select pub id, price * ytd sales, price, title id from titles order by pub id, 3 desc
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |