2016-03-22 27 views
2

MySQL tablosu: Ben MySQL ilk ve liste diğerlerinden daha manzara almalısınız seçmek yazmak istiyorumBelirli bir yöntemle nasıl sipariş verilir?

id | category | image<br> 
-------------------------------- 
0 | landscape | image name 
1 | panarimic | image name 
2 | portrait | image name 
3 | landscape | image name 
4 | landscape | image name 
5 | portait  | image name 

. Bunu nasıl yapabilirim? Kategori numarası ekleyebilir ve "siparişi ver" yapabilirim ama onsuz başka bir yol var mı?

+0

İlk id kategorisi ASC' TARAFINDAN 0 saniye 'SİPARİŞ olamayacağım. Bu kategori kategorisine göre sıralamaya göre –

+0

@Anant Thats sadece bu onun tüm kategorilerinde .. – sagi

cevap

5

Evet, senin ORDER BY CLAUSE içinde CASE EXPRESSION kullanabilirsiniz:

SELECT t.id,t.category,t.image 
FROM YourTable t 
ORDER BY CASE WHEN t.category = 'landscapes' then 1 else 0 end DESC, 
     t.category 
+0

teşekkürler sagi, öğrenmek istediğim bu. – yavona

+0

Sorun değil, onayı onaylayacağım @yavona – sagi

0
SELECT 
    * 
FROM 
    tableName 
ORDER BY 
    CASE 
    WHEN category LIKE 'landscape' 
    THEN 1 
    ELSE 0 
    END DESC ; 
İlgili konular