עם זאת, PostgreSQL אינו תומך באופן טבעי בפונקציית group_concat() בניגוד ל-MySQL. לכן, מדריך זה בוחן כיצד אנו יכולים להשיג פונקציונליות דומה באמצעות הפונקציה string_agg() .
PostgreSQL String_Agg פונקציה
הפונקציה string_agg ב-PostgreSQL מאפשרת לנו לשרשר את הערכים ממספר שורות למחרוזת אחת ומופרדת על ידי הפרמטר שצוין.
השימוש בתחביר הפונקציה מודגם באופן הבא:
SELECT string_agg(column_name, delimiter)
FROM table_name
WHERE תנאים
GROUP BY grouping_columns;
התחביר הבא בא לידי ביטוי באופן הבא:
column_name – הוא מציין את שם העמודה שברצוננו לשרשר את העמודה שלה.
תוחם - הוא מגדיר את תו המפריד המשמש בעת צירוף ערכי הקלט.
שם שולחן – טבלת היעד המכילה את הנתונים.
קבוצות_עמודות – הוא מציין את העמודות המשמשות לקיבוץ הנתונים שצוינו.
דוגמה לפונקציה PostgreSQL String_Agg
הבה ניקח דוגמה מעשית יותר כדי להמחיש כיצד הפונקציה פועלת. נניח שיש לנו טבלה המכילה את מידע התלמיד. הטבלה מכילה שלוש עמודות: מזהה, שם ונושא.
אם נרצה לשרשר את שמות התלמידים שנרשמו לאותו נושא, נוכל להשתמש בפונקציה string_agg.
בחר נושא, string_agg ( שֵׁם, ',' ) תלמידי ASמסטודנטים
GROUP BY נושא;
לאחר שנפעיל את השאילתה הנתונה, היא אמורה להחזיר ערכת תוצאות עם שתי עמודות עיקריות: הנושא והתלמידים. התלמידים מכילים את השמות המשורשרים של התלמידים לכל מקצוע ומופרדים בפסיק.
הערה : הפונקציה string_agg ממיינת את הערכים המשורשרים כברירת מחדל. אתה יכול להוסיף משפט ORDER BY בתוך הפונקציה string_agg כדי לשמור על הסדר המקורי.
הנה לך! שיטה פשוטה ויעילה להשגת פונקציונליות דומה המסופקת על ידי הפונקציה group_concat() ב-PostgreSQL.
סיכום
במדריך הקצר אך היעיל הזה, למדנו כיצד להשתמש בפונקציה string_agg ב-PostgreSQL כדי להשיג פונקציונליות דומה שמספקת הפונקציה group_concat() ב-MySQL.