Postgres Group_Concat

Postgres Group Concat



MySQL'de GROUP_CONCAT işlevi, birden çok satırdaki değerleri tek bir dizede birleştiren bir toplama işlevidir. İlgili verileri birleştirerek birden çok satırı tek bir satıra daraltmak için yaygın olarak kullanılır.

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.