SORU
20 AĞUSTOS 2010, Cuma


Union kullanarak ve mysql order by yan

Mysql sorguda Birliği ile sipariş kullanmak istiyorum. Bir tablo sitemde bir arama için mesafeye göre farklı kriterlere dayalı kayıt farklı getiriliyor duyuyorum. İlk select sorgu veri tam yeri arama ile ilgili döndürür . 2. sorgu döndürür seçin veri yerden 5 km mesafe içinde ilgili aradı. 3 sorgu döndürür seçin veri yerden 5-15 km içinde mesafe ile ilgili aradı.

O zaman ben m Birliği tüm sonuçları birleştirme ve disk belleği ile bir sayfada göstermek için kullanıyor. Altında uygun bir başlık olarak'Kesin arama sonuçları','5 km içinde' olurvb

Şimdi sonuçlar kimliği veya add_date göre sıralamak istiyorum. Ama benim sorgu sonunda yan tarafından sipariş eklediğimde ( add_date sorgu 2 sorgu sorgu1 Birliği Birliği 3 sıra). Tüm sonuçları sıralar. Ama istediğim her başlık altında sıralamak gerekir.

CEVAP
20 AĞUSTOS 2010, Cuma


Diğer kriterler, örneğin tarafından sıralamadan önce ilk sıralama, sözde sütun her seçmek için rütbe adında ekleyerek bunu yapabilirsiniz:

select *
from (
    select 1 as Rank, id, add_date from Table 
    union all
    select 2 as Rank, id, add_date from Table where distance < 5
    union all
    select 3 as Rank, id, add_date from Table where distance between 5 and 15
) a
order by rank, id, add_date desc

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • atKristaBradford

    atKristaBrad

    4 Aralık 2010
  • audivila

    audivila

    5 HAZİRAN 2009
  • Trevor Eckhart

    Trevor Eckha

    19 Aralık 2009