"Transaction_id", "customer_id", "transaction_date" ve "amount" sütunlarına sahip "işlemler" adlı bir tablonuz olduğunu varsayalım. Son 6 ayda herhangi bir işlem yapmayan müşteriler hariç, son 6 ayda en yüksek toplam harcama yapan müşteriyi bulmak için bir SQL sorgusu yazın.
İstenilen sonuca ulaşması gereken örnek bir SQL sorgusu: ``` SELECT customer_id, SUM(amount) as total_spend FROM hareketler WHERE hareket_tarihi >= DATEADD(ay, -6, GETDATE()) -- Son 6'dan işlemleri al ay GROUP BY customer_id HAVING COUNT(DISTINCT DATEDIFF(ay, 0, işlem_tarihi)) = 6 -- Son 6 ayda işlem yapmayan müşterileri hariç tut ORDER BY total_spend DESC LIMIT 1; ``` Bu sorgu, her müşterinin toplam harcamasını hesaplamak için 'SUM' işlevini kullanır ve sonuçları müşteri kimliğine göre gruplandırır. Ardından, son 6 ayda herhangi bir işlem yapmayan müşterileri "HAVING" maddesini kullanarak filtreler. Son olarak, sonuçlar toplam harcamaya göre azalan düzende sıralanır ve "LIMIT 1" yan tümcesi yalnızca en yüksek harcama yapan müşteriyi döndürür.