Veri Analizi: Filtreleme, Sıralama ve Gruplama İşlemleri




Veri Analizinde Filtreleme, Sıralama ve Gruplama İşlemleri

Veritabanı yönetim sistemleri (VTYS) ve veri analizi araçları, büyük veri kümeleri üzerinde etkili bir şekilde çalışabilmek için güçlü filtreleme, sıralama ve gruplama komutları sunar. Bu komutlar, veriden anlamlı bilgiler çıkarmak, raporlar oluşturmak ve karar verme süreçlerini desteklemek için hayati öneme sahiptir. Bu makalede, SQL’de sıklıkla kullanılan WHERE, LIKE, BETWEEN gibi filtreleme komutlarını, ORDER BY ile veri sıralamayı ve GROUP BY ile veri gruplamayı inceleyeceğiz. Ayrıca, bu komutların gerçek dünya senaryolarında nasıl kullanılabileceğine dair örneklere de yer vereceğiz, özellikle “En son 30 günde sipariş veren müşterilerin listelenmesi ve sıralanması” örneği üzerinde duracağız. Bu temel işlemler, veri analizi süreçlerinin vazgeçilmez bir parçasıdır ve doğru kullanıldığında, veriden maksimum değeri elde etmeyi sağlar.

Filtreleme Komutları: WHERE, LIKE ve BETWEEN

Veri filtreleme, belirli koşullara uyan kayıtları seçmek için kullanılır. Bu, veri kümesini daraltarak analiz etmeyi kolaylaştırır.

  • WHERE: En temel filtreleme komutudur. Bir veya daha fazla koşul belirterek bu koşullara uyan kayıtları seçer. Örneğin, belirli bir şehirdeki müşterileri listelemek veya belirli bir tarihten sonraki siparişleri getirmek için kullanılabilir. Koşullar mantıksal operatörler (AND, OR, NOT) ile birleştirilebilir.
    Örnek: WHERE sehir = ‘İstanbul’ AND yas > 30
  • LIKE: Metin tabanlı sütunlarda belirli bir desene uyan kayıtları bulmak için kullanılır. Genellikle joker karakterlerle (% ve _) birlikte kullanılır. % karakteri, sıfır veya daha fazla karakteri temsil ederken, _ karakteri tek bir karakteri temsil eder.
    Örnek: WHERE ad LIKE ‘A%’ (Adı ‘A’ ile başlayan tüm kayıtlar) VEYA *WHERE soyad LIKE ‘%an’*
  • BETWEEN: İki değer arasındaki kayıtları seçmek için kullanılır. Özellikle tarih veya sayısal sütunlarda kullanışlıdır. Belirtilen aralıktaki (sınırlar dahil) tüm kayıtları getirir.
    Örnek: WHERE tarih BETWEEN ‘2023-01-01’ AND ‘2023-01-31’ (Ocak ayındaki tüm kayıtlar)

Bu komutlar, bir birleriyle kombineli bir şekilde kullanılabilir.

Veri Sıralama: ORDER BY

ORDER BY komutu, sonuç kümesini bir veya daha fazla sütuna göre sıralamak için kullanılır. Varsayılan olarak, sıralama artan düzende (ASC – ascending) yapılır. Azalan düzende (DESC – descending) sıralama yapmak için sütun adından sonra DESC anahtar kelimesi kullanılır. Birden fazla sütuna göre sıralama yapmak mümkündür; bu durumda, önce ilk sütuna göre sıralama yapılır, ardından aynı değere sahip kayıtlar ikinci sütuna göre sıralanır ve bu şekilde devam eder.
Örnek: ORDER BY soyad ASC, ad DESC (Soyada göre artan, aynı soyadına sahip olanları ada göre azalan sırada listeler).
Özellikle raporlama ve analizde, verilerin anlamlı bir sırada sunulması önemlidir. ORDER BY olmadan, veriler genellikle veritabanına eklenme sırasına göre gelir, bu da her zaman en kullanışlı sıra olmayabilir.

Veri Gruplama: GROUP BY

GROUP BY komutu, sonuç kümesini bir veya daha fazla sütuna göre gruplamak için kullanılır. Genellikle, her grup için özet bilgiler (toplam, ortalama, minimum, maksimum, sayı) hesaplamak için kullanılır. Bu özetleme işlemleri, SQL’deki toplama fonksiyonları (SUM, AVG, MIN, MAX, COUNT) ile birlikte kullanılır.
Örnek: SELECT sehir, COUNT(*) FROM musteriler GROUP BY sehir (Her şehirdeki müşteri sayısını verir).
GROUP BY kullanırken, SELECT ifadesinde yalnızca gruplanan sütunlar ve toplama fonksiyonları yer alabilir. Aksi takdirde, veritabanı bir hata döndürebilir, çünkü gruplanmayan bir sütunun hangi değerinin gösterileceği belirsizdir.

Örnek Uygulama: Son 30 Günde Sipariş Veren Müşteriler

Şimdi, bu komutları birleştirerek “En son 30 günde sipariş veren müşterilerin listelenmesi ve sıralanması” örneğini inceleyelim. Bu, gerçek dünyada sıkça karşılaşılan bir senaryodur ve müşteri ilişkileri yönetimi (CRM), pazarlama kampanyaları ve stok yönetimi gibi alanlarda önemlidir.

Aşağıdaki SQL sorgusu, bu gereksinimi karşılar:

SELECT m.musteri_id, m.ad, m.soyad, s.siparis_tarihi
FROM musteriler m
JOIN siparisler s ON m.musteri_id = s.musteri_id
WHERE s.siparis_tarihi BETWEEN DATE(‘now’, ‘-30 days’) AND DATE(‘now’)
ORDER BY s.siparis_tarihi DESC;

Bu sorgu, ‘musteriler’ ve ‘siparisler’ tablolarını müşteri ID’sine göre birleştirir (JOIN), son 30 gündeki siparişleri filtreler (WHERE ve BETWEEN) ve sonuçları sipariş tarihine göre azalan sırada sıralar (ORDER BY). DATE(‘now’, ‘-30 days’) ifadesi, bugünden 30 gün öncesini hesaplar.

Sonuç olarak, WHERE, LIKE, BETWEEN, ORDER BY ve GROUP BY gibi SQL komutları, veritabanlarındaki verileri sorgulamak, filtrelemek, sıralamak ve gruplamak için güçlü araçlar sunar. Bu komutları etkili bir şekilde kullanmak, veri analizi sürecinin temelini oluşturur. WHERE ile belirli koşullara uyan kayıtları seçebilir, LIKE ile metin desenlerini arayabilir, BETWEEN ile belirli bir aralıktaki verileri getirebilirsiniz. ORDER BY, sonuçları anlamlı bir şekilde sıralamanızı sağlarken, GROUP BY ise verileri gruplayarak özet bilgiler elde etmenize olanak tanır. Bu makalede ele aldığımız “Son 30 günde sipariş veren müşteriler” örneği, bu komutların bir arada nasıl kullanılabileceğini ve gerçek dünya problemlerine nasıl uygulanabileceğini göstermektedir. Bu temel SQL komutlarında uzmanlaşmak, veri odaklı karar verme süreçlerini iyileştirmenize ve veriden daha fazla değer elde etmenize yardımcı olacaktır.


Bir yanıt yazın