mysql order by field

Merhabalar sizlere bugün order by kullanımında belirlediğiniz alan şartlarına göre sıralama için kullanacağımız mysql order by field sorgusundan bahsedeceğim.

Nedir Bu mysql order by field?

Bu sorguyu nerelerde neden kullanırız kısmına gelicek olur isek, standart mysql order by sorgusunda kullandığımız id,name gibi alanların haricinde sorgumuzda bulunan alanlara göre kendimiz bir sıra belirleyip buna göre dizilmesini isteyebiliriz. Bunun için ise field kısmını ekleyip kendimize göre bir sıra belirtebilmekteyiz.

Nerelerde Kullanabiliriz?

Bu sorgunun çok fazla kullanım alanı aslında bulunmamakta, ben bu sorguyu sadece opencart siparişler kısmında birden fazla sipariş durumu bulunması nedeni ile istenilen sıraya göre sıralama yaptırmak için kullandım.

Örnek bir mysql order by field sorgusu

SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer,(SELECT uyelik_tipi FROM `oc_customer` as c WHERE c.customer_id = o.customer_id) as uyelik_tipi, (SELECT os.name FROM oc_order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '1') AS order_status, o.shipping_code, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified,o.winka as winka,o.belge_siparis_no as belge_siparis_no FROM `oc_order` o WHERE o.order_status_id > '0' ORDER BY FIELD(order_status,'İade Edildi','Tamamlandı','Eksik Siparişler','Hazırlandı','Hazırlanıyor','Onay Bekliyor') DESC LIMIT 0,100

Yukarıdaki kod bloğu ile ilk DESC ile sondan sorgulama işlemi başlattım, Onay Bekliyor,Hazırlanıyor sırası ile listelememi yapmaktadır.

mysql order by field

Yukarıdaki görselde bir örnek query çıktısı bıraktım.

Bu işlemler sonrasında merak ettiğiniz veya yapamadığınız bir alan olması halinde yazarsanız elimden geldiğince cevaplamaya çalışırım. 

Mutlu Kodlar.