Ancak PostgreSQL, MySQL'den farklı olarak group_concat() işlevini yerel olarak desteklemez. Bu nedenle, bu öğretici string_agg() işlevini kullanarak benzer bir işlevi nasıl elde edebileceğimizi araştırıyor.
PostgreSQL String_Agg İşlevi
PostgreSQL'deki string_agg işlevi, birden çok satırdaki değerleri tek bir dizede birleştirmemize izin verir ve belirtilen parametre ile ayrılır.
İşlev sözdizimi kullanımı aşağıdaki şekilde gösterilmiştir:
string_agg(sütun_adı, sınırlayıcı) SEÇİN
tablo_adı'ndan
NEREDE koşullar
GROUP BY grouping_columns;
Aşağıdaki sözdizimi şu şekilde ifade edilir:
sütun adı – Sütunu birleştirmek istediğimiz sütunun adını belirtir.
sınırlayıcı – Girilen değerleri birleştirirken kullanılan ayırıcı karakteri tanımlar.
Tablo ismi – Verileri içeren hedef tablo.
gruplandırma_sütunları – Belirtilen verileri gruplandırmak için kullanılan sütunları belirtir.
PostgreSQL String_Agg İşlev Örneği
Fonksiyonun nasıl çalıştığını göstermek için daha pratik bir örnek ele alalım. Öğrenci bilgilerini içeren bir tablomuz olduğunu varsayalım. Tablo üç sütun içerir: id, ad ve konu.
Aynı derse kayıtlı öğrencilerin isimlerini birleştirmek istersek string_agg fonksiyonunu kullanabiliriz.
Konu SEÇ, string_agg ( isim, ',' ) AS öğrencileriöğrencilerden
Konuya göre GRUP;
Verilen sorguyu çalıştırdığımızda, iki ana sütun içeren bir sonuç kümesi döndürmelidir: konu ve öğrenciler. Öğrenciler, her konu için öğrencilerin sıralanmış adlarını içerir ve virgülle ayrılır.
NOT : string_agg işlevi, birleştirilmiş değerleri varsayılan olarak sıralar. Orijinal sırayı korumak için string_agg işlevinin içine ORDER BY yan tümcesi ekleyebilirsiniz.
İşte aldın! PostgreSQL'de group_concat() işlevi tarafından sağlanan benzer bir işlevselliğe ulaşmak için basit ve verimli bir yöntem.
Çözüm
Bu kısa ama etkili eğitimde, MySQL'de group_concat() işlevi tarafından sağlanan benzer bir işlevselliğe ulaşmak için PostgreSQL'de string_agg işlevinin nasıl kullanılacağını öğrendik.