Aracılığıyla paylaş


ORDER BY yan tümce (Transact-SQL)

Bir deyim içinde döndürülen sütunlar kullanılan sıralama düzeni düzenini belirtir.ORDER BY yan tümce, TOP de belirtilmediyse, görünüm, satır içi işlevler, türetilen tablolar ve alt sorgular, geçerli değil.

Not

ORDER BY görünüm, satır içi işlev, türetilmiş bir tablo veya alt sorgu tanımında kullanıldığında, bu yan tümce yalnızca TOP yan tümcesi ile döndürülen satırları belirlemek için kullanılır.Bu yapıları sorgulandığında, ORDER BY ayrıca sorguda belirtilmediği sürece, ORDER BY yan tümce sıralı sonuçlar ile garanti etmez.

Topic link iconTransact-SQL sözdizimi kuralları

[ ORDER BY 
    {
    order_by_expression 
  [ COLLATE collation_name ] 
  [ ASC | DESC ] 
    } [ ,...n ] 
] 

Bağımsız değişkenler

  • order_by_expression
    Sıralamak istediğiniz sütun belirtir.Sütun sıralama, negatif olmayan bir tamsayıdır adını veya diğer ad ad select listesindeki konumunu gösteren bir ad veya sütun diğer ad ad adı olarak belirtilebilir.Bir tamsayı olamaz, belirtilen order_by_expression Derecelendirme işlevde görüntülenir. Bir sıralama sütun, bir ifade, ancak veritabanı olduğunda içerebilir. SQL Server (90) uyumluluk modu, deyim için sabit çözümlenemiyor. Sütun adları ve diğer adlar tablo veya Görünüm adı uygun.Içinde SQL Server, koşullu sütun adları ve diğer sütunlara FROM içinde listelenen çözümlendiği yan tümce. If order_by_expression olan tam değil, değer SELECT deyiminde listelenen tüm sütunlar arasında benzersiz olmalıdır.

    Birden çok sütunları sıralama belirtilebilir.ORDER BY yan tümcesinde sütunları sıralama sırasını, sıralanmış sonuç kümesinin kuruluş tanımlar.

    ORDER BY yan tümce, seçim listesinde görünmüyor öğeleri içerebilir.Ancak, SELECT DISTINCT belirtilirse, deyim GROUP BY yan tümce içeriyorsa veya deyim, bir UNION işleç içeriyorsa, sütunları sıralama seçme listesinde görünmesi gerekir.

    UNION işletmeni deyim içerir, ayrıca sütun adları veya bir sütun diğer adları ilk seçim listesinde belirtilen olmalıdır.

    Not

    ntext, text, image, or xmlcolumns cannot be used in an ORDER BY clause.

  • {HARMANLAcollation_name}
    Specifies that the ORDER BY operation should be performed according to the collation specified in collation_name, and not according to the collation of the column as defined in the table or view.collation_name can be either a Windows collation name or a SQL collation name.Daha fazla bilgi için bkz: Kur, alfabe düzeni ayarları ve SQL Server harmanlamalar kullanma. COLLATE yalnızca sütunlarından için geçerlidir char, varchar, nchar, ve nvarchar veri türleri.

  • asc
    Belirleyen değerleri belirtilen sütun, en düşük değerden en yüksek değer artan düzende sıralanmış.ASC varsayılan sıralama ' dir.

  • desc
    Belirleyen değerleri belirtilen sütun, en yüksek değerden en düşük değer için azalan şekilde sıralanmış.

Remarks

null değerleri, en düşük olası değerler kabul edilir.

ORDER BY'ndaki öğe sayısı için bir sınır yan tümce.Ancak, 8,060 bayt ara worktables sıralama işlemi için gereken Satır boyutu için bir sınır yoktur.Bu, ORDER BY yan tümcesinde belirlenen sütun toplam boyutunu sınırlar.

Başka bir kaynaktan satır eklemek için bir SELECT... INTO deyim ile birlikte kullanıldığında, ORDER BY yan tümce satırları belirtilen sırada eklenir garanti etmez.

Örnekler

Aşağıdaki örnekler bir sonuç sipariş küme.

Sayısal sıralama ProductID sütun. Varsayılan değer artan sırada.

USE AdventureWorks
GO
SELECT ProductID, Name FROM Production.Product
WHERE Name LIKE 'Lock Washer%'
ORDER BY ProductID ;

Sayısal sıralama ProductID azalan sırada sütun.

SELECT ProductID, Name FROM Production.Product
WHERE Name LIKE 'Lock Washer%'
ORDER BY ProductID DESC;

Tarafından sipariş Name sütun. Karakterleri sıralanır, alfabetik, sayısal olmayan unutmayın.Diğer bir deyişle, 10, 2 önce sıralar.

SELECT ProductID, Name FROM Production.Product
WHERE Name LIKE 'Lock Washer%'
ORDER BY Name ASC ;

Iki sütuna göre sıralama.Bu sorgu, ilk olarak artan düzende sıralar FirstName sütunu, sonra göre azalan düzende sıralar LastName sütun.

SELECT LastName, FirstName FROM Person.Contact
WHERE LastName LIKE 'R%'
ORDER BY FirstName ASC, LastName DESC ;