SELECT isim, deger, IF (deger=2, "1", "0") AS siralama FROM tablo ORDER BY
siralama DESC

sorgusunu bir de

SELECT isim, deger FROM tablo ORDER BY deger=2

olarak deneyin. uygulamadaki sorguyu gönderirseniz belki önemli düzenlemeler
yapılabilr.

2009/3/5 OKAN <[email protected]>

>  Merhabalar, Mysql uzerinde belli alanlar eger istedigim degerde ise once
> almak icin asagidaki gibi IF deyimli bir sorgu kullanıyorum.
>
> SELECT isim, deger, IF (deger=2, "1", "0") AS siralama FROM tablo ORDER BY
> siralama DESC
>
> Yani deger='2' olan satırları başa alıyorum. Gercek uygulamada bu IF
> degimlerinden 6 adet kullandım ve istedigim veriye ulaşabiliyorum.
>
> Ancak ne yazık ki, bu Mysql için çok pahalı bir yontem, Mysql performansı
> boyle bir sorguda cok kotu bir durum alıyor. (1 sorgu yaklaşık 1sn suruyor
> ve mysql anında yavaşlıyor)
>
> Amacım, belirledigim 6 alanda eger istedigim kayıtlar varsa onları on plana
> almak. Bunu performans sorununu aşarak nasıl başarabilirim?
>
> Şimdiden ilgilenen arkadaşlara teşekkür ederim.
>
> OKAN ARI
>
>
>
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>


-- 
Elvin Şiriyev
http://siriyev.net
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

Cevap