Posts

Showing posts with the label FILTER

PostgreSQL'de FILTER İfadesi

Image
Merhaba, FILTER ifadesinin kullanımını anlatmadan önce PostgreSQL'de Aggregate ifadesini ve Aggregate fonksiyonlarını biraz açıklayalım. Sorgularda istenilen bir alan için gruplama yaparak sonucunu toplama, sayma, en büyük, en küçük değerlerine ait sonuca ulaşmak istendiğinde aggregate fonksiyonlarını kullanmamız gerekir. PostgreSQL'de kullanılan Aggregate fonksiyonlarının bir kaçı aşağıdaki gibidir. SUM() - Değerleri toplar. COUNT() - Değerleri sayar. AVG() - Sütun değerinin ortalamasını bulur. MIN() - En küçük değeri bulur. MAX() - En büyük değeri bulur. FILTER ifadesi aggregate fonksiyonlarıyla birlikte kullanılır. Gruplanacak değer içinde filtreleme sağlar.  AGGREGATE_FUNCTION(hesaplamalar) FILTER (WHERE ifadesi) şeklinde kullanılır. COUNT(*) FILTER (WHERE ifadesi) SUM(*) FILTER (WHERE ifadesi) Örnek tablo oluşturalım. create table users as select (ARRAY['Ahmet','Turan','Kaya','Beren'])[floor(random()*5)+1]  as f_name, (ARRAY[&#