Sql sort by: ORDER BY, предложение (Transact-SQL) — SQL Server

Содержание

LinkedIn

選擇語言Bahasa Indonesia (Bahasa Indonesia)Bahasa Malaysia (Malay)Čeština (Czech)Dansk (Danish)Deutsch (German)English (English)Español (Spanish)繁體中文 (Chinese (Traditional))Français (French)한국어 (Korean)Italiano (Italian)简体中文 (Chinese (Simplified))Nederlands (Dutch)日本語 (Japanese)Norsk (Norwegian)Polski (Polish)Português (Portuguese)Română (Romanian)Русский (Russian)Svenska (Swedish)Tagalog (Tagalog)ภาษาไทย (Thai)Türkçe (Turkish)العربية (Arabic)

عفواً، لم نتمكن من العثور على الصفحة التي تبحث عنها. برجاء المحاولة مرة أخرى للصفحة السابقة أو الانتقال لـمركز المساعدة للمزيد من المعلومات

الإنتقال لموجزك الرئيسي

Omlouváme se, nemůžeme najít stránku, kterou hledáte. Zkuste se vrátit zpátky na předchozí stránku, nebo se podívejte do našeho Centra nápovědy pro více informací

Přejít do informačního kanálu

Vi kan desværre ikke finde den side, du leder efter. Gå tilbage til den forrige side, eller besøg Hjælp for at få flere oplysninger

Gå til dit feed

Die gewünschte Seite konnte leider nicht gefunden werden.

Versuchen Sie, zur vorherigen Seite zurückzukehren, oder besuchen Sie unseren Hilfebereich, um mehr zu erfahren. Zu Ihrem Feed

Uh oh, we can’t seem to find the page you’re looking for. Try going back to the previous page or see our Help Center for more information

Go to your feed

Vaya, parece que no podemos encontrar la página que buscas. Intenta volver a la página anterior o visita nuestro Centro de ayuda para más información.

Ir a tu feed

Nous ne trouvons pas la page que vous recherchez. Essayez de retourner à la page précédente ou consultez notre assistance clientèle pour plus d’informations

Ouvrez votre fil

Maaf, sepertinya kami tidak dapat menemukan halaman yang Anda cari. Coba kembali ke halaman sebelumnya atau lihat Pusat Bantuan kami untuk informasi lebih lanjut

Buka feed Anda

Non abbiamo trovato la pagina che stai cercando.

Prova a tornare alla pagina precedente o visita il nostro Centro assistenza per saperne di più. Vai al tuo feed

申し訳ありません。お探しのページが見つかりません。前のページに戻るか、ヘルプセンターで詳細をご確認ください

フィードに移動

원하시는 페이지를 찾을 수 없습니다. 이전 페이지로 돌아가거나 고객센터에서 자세히 알아보세요.

홈으로 가기

Harap maaf, kami tidak dapat menemui laman yang ingin anda cari. Cuba kembali ke laman sebelumnya atau lihat Pusat Bantuan kami untuk maklumat lanjut

Pergi ke suapan

De pagina waar u naar op zoek bent, kan niet worden gevonden. Probeer terug te gaan naar de vorige pagina of bezoek het Help Center voor meer informatie

Ga naar uw feed

Vi finner ikke siden du leter etter. Gå tilbake til forrige side eller besøk vår brukerstøtte for mer informasjon

Gå til din feed

Nie możemy znaleźć strony, której szukasz.

Spróbuj wrócić do poprzedniej strony lub nasze Centrum pomocy, aby uzyskać więcej informacji Przejdź do swojego kanału

A página que você está procurando não foi encontrada. Volte para a página anterior ou visite nossa Central de Ajuda para mais informações

Voltar para seu feed

Ne pare rău, nu găsim pagina pe care o căutaţi. Reveniţi la pagina anterioară sau consultaţi Centrul nostru de asistenţă pentru mai multe informaţii

Accesaţi fluxul dvs.

Не удаётся найти искомую вами страницу. Вернитесь на предыдущую страницу или посетите страницу нашего справочного центра для получения дополнительной информации.

Перейти к ленте

Sidan du letar efter hittades inte. Gå tillbaka till föregående sida eller besök vårt Hjälpcenter för mer information

Gå till ditt nyhetsflöde

ขออภัย ดูเหมือนเราไม่พบหน้าที่คุณกำลังมองหาอยู่ ลองกลับไปที่หน้าเพจก่อน หรือดู ศูนย์ความช่วยเหลือ ของเราสำหรับข้อมูลเพิ่มเติม

ไปที่ฟีดของคุณ

Naku, mukhang hindi namin mahanap ang pahina na hinahanap mo.

Subukang bumalik sa nakaraang pahina o tingnan ang aming Help Center para sa higit pang impormasyon Pumunta sa iyong feed

Aradığınız sayfa bulunamadı. Önceki sayfaya geri dönün veya daha fazla bilgi için Yardım Merkezimizi görüntüleyin

Haber akışınıza gidin

抱歉,无法找到页面。试试返回到前一页,或前往帮助中心了解更多信息

前往动态汇总

我們好像找不到該頁面。請回到上一頁或前往說明中心來進一步瞭解

前往首頁動態

Используйте SQL ORDER BY для сортировки результатов

Предложение SQL ORDER BY используется для сортировки результатов запроса в порядке возрастания или убывания. После того как вы написали запрос, вы, естественно, захотите изменить порядок результатов. Вы можете сделать это, используя предложение ORDER BY.

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

Содержание

  • Введение в SQL ORDER BY
  • SQL ORDER BY Два столбца
  • SQL ORDER BY По убыванию (DESC)
  •  ORDER BY Выражение (вычисление)
  • Получение лучших результатов
  • Дополнительный Re источники

Важно!

Пожалуйста, выполняйте примеры в своей базе данных. Если вы еще этого не сделали, подпишитесь на мое руководство по началу работы с SQL Server. Вы получите инструкции по установке бесплатных инструментов и примера базы данных.

Введение в SQL ORDER BY

Получив результаты, вы хотите отсортировать их с помощью предложения SQL ORDER BY . Используйте его, чтобы указать столбцы или выражения для сортировки результатов.

Общая форма команды:

 ВЫБЕРИТЕ столбец1, столбец2, столбец3
ИЗ таблицы1
ORDER BY столбец1, столбец4
 

Для сортировки результатов запроса используйте предложение ORDER BY. Это предложение следует за предложением FROM, и именно здесь вы указываете столбцы или выражения, которые следует использовать для упорядочения ваших данных.

При использовании предложения ORDER BY оператор select принимает форму

ВЫБЕРИТЕ столбцы ИЗ таблицы ORDER BY столбцов;

Итак, если вы хотите отсортировать людей по фамилии, вы можете указать

 SELECT   Имя,
Фамилия
ОТ     Person.Person
ЗАКАЗАТЬ ПО Фамилии 

Кроме того, вы можете указать направление сортировки. Если не указано иное, все сортировки идут в порядке возрастания (от меньшего к большему) и могут быть явно указаны с помощью ключевого слова ASC

.

SQL ORDER BY Two Columns

Вы также можете упорядочить более чем по одному столбцу. Просто разделите столбцы, которые вы хотите отсортировать, запятой. Если вы хотите отсортировать человека по фамилии и имени.

 SELECT   Имя,
Фамилия
ОТ     Person.Person
ЗАКАЗАТЬ ПО Фамилии, Имени 

Вот результаты

Результаты упорядочены в порядке возрастания (от А до Я). Кроме того, при указании двух или более столбцов сортировки значения второго столбца сортируются внутри первого.

Вы можете видеть это в приведенном выше примере в строках с 5 по 8, где общий результат отсортирован по Фамилии и по Имени внутри них. Обратите внимание, как Хазем и Сэм сортируются по фамилии Аболорус.

Конечно, вы также можете упорядочить результаты в порядке убывания. Для этого используйте ключевое слово DESC.

SQL ORDER BY по убыванию (DESC)

Используйте ключевое слово DESC для сортировки результатов SQL в порядке убывания. Сделать это легко. Просто добавьте DESC, SQL DESC  9Ключевое слово 0006 указывает порядок сортировки по убыванию для столбца в предложении SQL ORDER BY. Значения сортируются в порядке от Z до A.

Следующая инструкция сортирует каждое имя Person.LastName в порядке убывания. Поскольку для FirstName указано примечание, они сортируются в порядке возрастания внутри LastName.

 ВЫБЕРИТЕ Фамилию, Имя, EmailPromotion
ОТ Человека.
Человека ORDER BY Фамилия Desc , Имя

Имейте в виду, что порядок сортировки по умолчанию — возрастающий.

Обратите внимание, как я добавил ключевое слово ASC в столбец Имя. Ключевое слово SQL ASC  указывает порядок сортировки по возрастанию для столбца в предложении ORDER BY. Это означает, что значения отсортированы в порядке от А до Я.

 ВЫБЕРИТЕ Фамилию, Имя, EmailPromotion
ОТ Человека.Человека
ORDER BY LastName Desc, FirstName  ASC 
 

Добавьте desc к обоим столбцам, чтобы отсортировать их в порядке убывания. Это позволяет избежать сортировки столбцов в порядке возрастания, что, как вы знаете, является значением по умолчанию:

 ВЫБЕРИТЕ Фамилию, Имя, EmailPromotion
ОТ Человека.Человека
ORDER BY Фамилия Desc, Имя Desc
 

 ORDER BY Выражение (вычисление)

До сих пор вы научились сортировать по одному или нескольким столбцам, но знаете ли вы, что можете сортировать по выражению?

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

Конечно!

Проверьте следующее и внимательно посмотрите на предложение ORDER BY, там вы увидите, где он упорядочен по TotalPrice (UnitPrice * Quantity)

 ВЫБЕРИТЕ   PurchaseOrderID,
Цена за единицу товара,
Заказ Кол-во
ОТ     Purchasing.PurchaseOrderDetail
ЗАКАЗАТЬ ПО UnitPrice * OrderQty 

Чтобы было понятнее, давайте также отобразим TotalPrice, что ведет ко второму пути:

 ВЫБЕРИТЕ   PurchaseOrderID,
Цена за единицу товара,
Заказ Кол-во,
UnitPrice * OrderQty AS TotalPrice
ОТ     Purchasing.PurchaseOrderDetail
ЗАКАЗАТЬ ПО UnitPrice * OrderQty 

И здесь может помочь псевдоним или переименование полей. Здесь UnitPrice * OrderQty имеет псевдоним TotalPrice в предложении SELECT. Теперь, когда это сделано, мы можем просто ссылаться на TotalPrice при указании порядка сортировки.

 ВЫБЕРИТЕ   PurchaseOrderID,
Цена за единицу товара,
Заказ Кол-во,
UnitPrice * OrderQty AS TotalPrice
ОТ     Purchasing. PurchaseOrderDetail
ЗАКАЗАТЬ ПО TotalPrice 

Вам может быть интересно, зачем мне сортировать по вычислению, если я могу просто добавить столбец в свой SELECT и сортировать по нему?

Мой ответ: вы можете отсортировать элемент, который вам не нужно отображать. В этом случае SQL является гибким. Это позволяет вам сортировать по значению, которое не входит в ваш результат.

Получить ТОП-результаты

Последнее, что я хотел бы обсудить с вами, — это возможность ограничить количество отсортированных результатов, возвращаемых из списка. Это позволяет очень легко возвращать «первые десять» или «первые десять» элементов в поиске.

Копай глубже! Подробнее о SQL TOP

Например, если вы хотите узнать пять основных элементов PurchaseOrderDetail, вы можете ввести следующий запрос в SSMS

 ВЫБРАТЬ   TOP 5 PurchaseOrderID,
Цена за единицу товара,
Заказ Кол-во,
UnitPrice * OrderQty AS TotalPrice
ОТ     Purchasing. PurchaseOrderDetail
ЗАКАЗАТЬ ПО TotalPrice 

Ключевое слово TOP ограничивает наш поиск первыми пятью строками. Конечно, вы можете ограничиться другими числами, на самом деле вы также можете ограничиться любым числом, полученным из выражения.

Совет!  Чтобы получить последние пять строк результата, например пять наименьших порядков, просто упорядочите результат в порядке убывания.

Дополнительные ресурсы

Чтобы узнать больше о ORDER BY, ознакомьтесь со следующими полезными ресурсами: 

  • В чем разница между GROUP BY и ORDER BY?
  • Использование Offset и Fetch с предложением ORDER BY
  • В чем разница между TOP и OFFSET & FETCH?

Пункт ORDER BY — сортировка данных в SQL

SQL > Команды SQL > Заказать по номеру

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

Синтаксис

Синтаксис оператора ORDER BY следующий:

ВЫБЕРИТЕ «имя_столбца»
ОТ «имя_таблицы»
[ГДЕ «состояние»]
ORDER BY «column_name» [ASC, DESC];

[ ] означает, что оператор WHERE является необязательным. Однако если существует предложение

WHERE , оно предшествует предложению ORDER BY . ASC означает, что результаты будут показаны в порядке возрастания, а DESC означает, что результаты будут показаны в порядке убывания. Если ни один из них не указан, по умолчанию используется значение 9.0152 АСЦ .

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

.

ORDER BY «имя_столбца1» [ASC, DESC], «имя_столбца2» [ASC, DESC]

Предполагая, что мы выбираем возрастающий порядок для обоих столбцов, выходные данные будут упорядочены в возрастающем порядке в соответствии с столбцом 1. Если есть связь для значения столбца 1, мы затем сортируем в порядке возрастания по столбцу 2.

Количество столбцов, которые можно использовать в предложении ORDER BY , не ограничено. Однако общее практическое правило заключается в том, что вы должны включать только те столбцы, которые необходимы для вашего варианта использования.

Примеры

Мы используем следующую таблицу для примеров 1-3.

Таблица Store_Information

Лос-Анджелес 1500 05 января 1999 
Сан-Диего 250 07 января 1999
Сан-Франциско 300 Пример 1: ЗАКАЗАТЬ по одному столбцу, используя имя столбца

Чтобы перечислить содержимое таблицы Store_Information по продажам в порядке убывания, введите

ВЫБЕРИТЕ Store_Name, Продажи, Txn_Date
ОТ Store_Information
ЗАКАЗАТЬ ПО ПРОДАЖЕ DESC;

Результат:

Store_Name   Продажи   Txn_Date
Лос-Анджелес 90 217 1500 05 января 1999
Бостон 700 08 января 1999
Сан-Франциско 300 08 января 1999 г.
Сан-Диего 250 07 января 1999

Пример 2: ORDER BY по одному столбцу с использованием позиции столбца

В дополнение к имени столбца мы также можем использовать позицию столбца (на основе SQL-запроса), чтобы указать, к какому столбцу мы хотим применить предложение ORDER BY . Первый столбец равен 1, второй столбец равен 2 и так далее. В приведенном выше примере мы добьемся тех же результатов с помощью следующей команды:

ВЫБЕРИТЕ Store_Name, Sales, Txn_Date
ОТ Store_Information
ЗАКАЗАТЬ ПО 2 DESC;

Пример 3: ORDER BY для одного столбца с использованием столбца, которого нет в операторе SELECT

Столбцы, которые мы используем для сортировки результатов, не обязательно должны находиться в предложении SELECT . Например, следующий SQL,

ВЫБЕРИТЕ Store_Name
ОТ Store_Information
ЗАКАЗАТЬ ПО ПРОДАЖЕ DESC;

отлично работает и даст следующий результат:

Store_Name
Лос-Анджелес
Бостон
Сан-Франциско
Сан-Диего

Пример 4: ORDER BY выражение

Также можно отсортировать результат по выражению. Например, в следующей таблице

Таблица Продукт_Продажи

90 375 2
1 10 9
15 4
3 25 3

мы можем использовать Оператор SQL ниже, чтобы упорядочить результаты по доходу (определяется как цена * единицы):

ВЫБЕРИТЕ Product_ID, Цена*Доход от единиц
ОТ Продукт_Продажи
ЗАКАЗАТЬ ПО Цена*Единицы DESC;

Результат:

Product_ID   Выручка
1 90
3 75
2 60

Упражнения

Для этих упражнений предположим, что у нас есть таблица с именем User_Sales со следующими данными:

Таблица User_Sales

9021 6  200 90 215 9021 6  210 
Софи Ли Ф Апр-05 -2015 500
Ричард Браун М 05 апреля 2015
Джамал Санто М 09 апреля 2015 350
Кейси Хили М М Апр-09-2015 80
Джилл Уилкс Ф 15 апреля 2015

1.

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

© 2019 Штирлиц Сеть печатных салонов в Перми

Цифровая печать, цветное и черно-белое копирование документов, сканирование документов, ризография в Перми.