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.
ORDER IN GROUP yan tümcesi, gruplarda sonuç kümelerini döndüren GROUP ON deyimiyle birlikte kullanılır. ORDER IN GROUP yan tümcesi, döndürülen her grubu farklı bir şekilde sıralamanızı sağlar. Örneğin, System.Kind üzerinde gruplandırıyorsanız, tüm belgeleri System.Document.LastAuthor'a, tüm müzik dosyalarını System.Music.AlbumArtist'e ve tüm e-postaları System.Message.FromName'e göre sıralayabilirsiniz.
Sözdizimi
AŞAĞıDA ORDER IN GROUP yan tümcesinin söz dizimi yer alır:
GROUP ON <group column and optional ranges>
OVER (SELECT ... FROM SystemIndex
ORDER
IN GROUP '<group name>' BY <column> [<direction>] [,<column> [<direction>]]
[IN GROUP '<group name>' BY <column> [<direction>] [,<column> [<direction>]] ]
[BY <column> [<direction>] [,<column> [<direction>]] ])
Grup adı tanımlayıcısı, GROUP ON deyiminde belirtildiği gibi grup sütunundaki bir aralık veya bilinen değerdir. Örneğin, System.Photo.ISOSpeed için bilinen değerler 'ISO-100', 'ISO-200' vb. içerebilir. System.Photo.DateTaken aralığı GROUP ON System.ItemDate ['2006-1-1', '2007-1-1'] gibi bir deyim için '2006-1-1' ve '2007-1-1' içerir.
Sütun tanımlayıcısı, GROUP ON veya SELECT deyiminde belirtilen geçerli bir sütun olmalıdır. Virgülle ayırarak birden fazla sütun ekleyebilirsiniz. Örneğin, System.Photo.ISOSpeed üzerinde gruplandırıyorsanız, tüm ISO-100 fotoğraflarını önce System.Photo.ShutterSpeed ve ardından System.Photo.Aperture ile sıralayabilirsiniz.
İsteğe bağlı yön belirtici artan (düşükten yükseğe) için ASC veya azalan (yüksekten düşüğe) için DESC olabilir. Yön tanımlayıcısı sağlamazsanız, varsayılan olarak artan kullanılır. Birden fazla sütun belirtirseniz ancak tüm yönleri belirtmezseniz, siz yönü açıkça değiştirene kadar son belirttiğiniz yön her ardışık sütuna uygulanır.
ORDER GROUP IN yan tümcesinde açıkça belirtilmeyen aralıklar veya değerler, GROUP ON sütunundaki değerlere göre artan düzende sıralanır.
Örnekler
Aşağıdaki örnek sonuçları System.Kind özelliğine göre gruplandırmaktadır. Sorgu, 'program' grubunu uygulama adına ve 'müzik' grubunu albüm başlığına ve parça numarasına göre sıralar. NULL grubu, öğe adına göre sıralanır. Diğer tüm gruplar, madde tarihine göre sıralanır.
GROUP ON System.Kind
OVER (SELECT System.ItemUrl, System.Music.AlbumTitle, System.Music.TrackNumber, System.ItemName, System.ItemDate, System.Kind FROM SystemIndex
ORDER
IN GROUP 'program' BY System.ApplicationName ASC
IN GROUP 'music' BY System.Music.AlbumTitle ASC, System.Music.TrackNumber ASC
IN GROUP NULL BY System.ItemName
BY System.ItemDate DESC)
Aşağıdaki örnek sonuçları System.ItemDate özelliğine göre gruplandırıp her grubu öğe URL'sine, türüne veya adına göre sıralar.
GROUP ON System.ItemDate ['2006-1-1', '2007-1-1', '2008-1-1']
OVER (SELECT System.ItemUrl, System.ItemName, System.ItemDate System.Kind FROM SystemIndex
ORDER
IN GROUP MINVALUE BY System.ItemUrl ASC
IN GROUP '2007-1-1' BY System.Kind
IN GROUP NULL BY System.ItemName)
Yukarıdaki sorgunun sonuçları beş grupta döndürülür ve aşağıdaki tabloda açıklandığı gibi sıralanır.
| Grup | Açıklama | Sıralama ölçütü |
|---|---|---|
| MINVALUE | 2006-1-1 öncesi tarihleri olan öğeler | Öğenin URL'sine göre artan düzende sıralanmış |
| 2006-1-1 | 2006-1-1 tarihinde veya sonrasında ancak 2007-1-1 öncesinde tarihleri olan öğeler | Öğe tarihine göre artan düzende sıralanmış |
| 2007-1-1 | 2007-1-1 tarihinde veya sonrasında ancak 2008-1-1 öncesinde tarihleri olan öğeler | Tür değerine göre artan düzende sıralanmış |
| 2008-1-1 | 2008-1-1 tarihinde veya sonrasında tarihleri olan öğeler | Öğe tarihine göre artan düzende sıralanmış |
| NULL | System.ItemDate sütununda değeri olmayan öğeler | Öğe adına göre artan düzende sıralanmış |
İlgili konular