Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
SELECT deyiminde döndürülen nesnelerde kullanılan sıralama düzenini belirtir.
Sözdizimi
[ ORDER BY
{
order_by_expression [SKIP n] [LIMIT n]
[ COLLATE collation_name ]
[ ASC | DESC ]
}
[ ,…n ]
]
Tartışmalar
order_by_expression Sıralanacak özelliği belirten geçerli bir sorgu ifadesi. Birden çok sıralama ifadesi belirtilebilir. ORDER BY yan tümcesindeki sıralama ifadelerinin sırası, sıralanmış sonuç kümesinin düzenini tanımlar.
COLLATE {collation_name} ORDER BY işleminin içinde collation_namebelirtilen harmanlama göre gerçekleştirilmesi gerektiğini belirtir. COLLATE yalnızca dize ifadeleri için geçerlidir.
ASC Belirtilen özellikteki değerlerin en düşük değerden en yüksek değere kadar artan düzende sıralanması gerektiğini belirtir. Varsayılan değer budur.
DESC Belirtilen özellikteki değerlerin en yüksek değerden en düşük değere kadar azalan düzende sıralanması gerektiğini belirtir.
LIMIT n Yalnızca ilk n öğeler seçilir.
ATLA n İlk n öğeleri atlar.
Açıklamalar
ORDER BY yan tümcesi, SELECT yan tümcesinin sonucuna mantıksal olarak uygulanır. ORDER BY yan tümcesi, diğer adlarını kullanarak seçim listesindeki öğelere başvurabilir. ORDER BY yan tümcesi, şu anda kapsam içinde olan diğer değişkenlere de başvurabilir. Ancak, SELECT yan tümcesi DISTINCT değiştiricisi ile belirtilmişse ORDER BY yan tümcesi yalnızca SELECT yan tümcesinden diğer adlara başvurabilir.
SELECT c AS c1 FROM cs AS c ORDER BY c1.e1, c.e2
ORDER BY yan tümcesindeki her ifade, sıralı eşitsizlik (küçük veya daha büyük vb.) için karşılaştırılabilir bir türe göre değerlendirilmelidir. Bu türler genellikle sayılar, dizeler ve tarihler gibi skaler temel öğelerdir. Karşılaştırılabilir türlerin RowType'ları da sırasıyla karşılaştırılabilir.
Kodunuz en üst düzey yansıtma dışında sıralı bir küme üzerinde yineleniyorsa, çıktının sırasının korunması garanti edilmez.
Aşağıdaki örnekte sıranın korunacağı garanti edilir:
SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName
Aşağıdaki sorguda iç içe sorgunun sıralanması yoksayılır:
SELECT C2.FirstName, C2.LastName
FROM (SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName) as C2
Sıralı bir UNION, UNION ALL, EXCEPT veya INTERSECT işlemine sahip olmak için aşağıdaki deseni kullanın:
SELECT ...
FROM ( UNION/EXCEPT/INTERSECT operation )
ORDER BY ...
Kısıtlanmış anahtar sözcükler
Bir yan tümcede kullanıldığında ORDER BY aşağıdaki anahtar sözcükler tırnak içine alınmalıdır:
HAÇ
DOLU
ANAHTAR
sol
SİPARİŞ
DIŞ
Doğru
Sıra
DEĞER
İç İçe Sorguları Sıralama
Entity Framework'te iç içe ifade sorgunun herhangi bir yerine yerleştirilebilir; iç içe sorgunun sırası korunmaz.
Aşağıdaki sorgu sonuçları soyadına göre sıralar:
SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName
Aşağıdaki sorguda iç içe sorgunun sıralanması yoksayılır:
SELECT C2.FirstName, C2.LastName
FROM (SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName) as C2
Örnek
Aşağıdaki Entity SQL sorgusu, SELECT deyiminde döndürülen nesnelerde kullanılan sıralama düzenini belirtmek için ORDER BY işlecini kullanır. Sorgu AdventureWorks Satış Modeli'ni temel alır. Bu sorguyu derlemek ve çalıştırmak için şu adımları izleyin:
Nasıl yapılır: StructuralType Sonuçları Döndüren Bir Sorgu Yürütme bölümündeki yordamı izleyin.
Aşağıdaki sorguyu yöntemine
ExecuteStructuralTypeQuerybağımsız değişken olarak geçirin:
SELECT VALUE p FROM AdventureWorksEntities.Products
AS p ORDER BY p.ListPrice