SQLite memiliki group_concat()
fungsi yang memungkinkan Anda untuk menggabungkan beberapa hasil yang dikembalikan untuk kolom menjadi satu.
Ini terkadang disebut sebagai “agregasi string”.
Misalnya, saat membuat kueri database, alih-alih memiliki output nilai setiap kolom di baris baru, Anda dapat menggunakan group_concat()
untuk membuatnya keluar sebagai daftar yang dipisahkan koma.
Sintaks
Anda dapat menggunakan fungsi ini dengan salah satu cara berikut:
group_concat(X)
group_concat(X,Y)
Dengan kata lain, group_concat()
fungsi dapat digunakan dengan satu atau dua argumen.
Argumen kedua menentukan karakter untuk digunakan sebagai pemisah. Jika Anda tidak menentukan ini, maka koma (,
) akan digunakan sebagai pemisah.
Contoh dengan Satu Argumen
Berikut ini contoh pemanggilan group_concat()
dengan satu argumen.
SELECT group_concat(FirstName)
FROM Employee;
Hasil:
Andrew,Nancy,Jane,Margaret,Steve,Michael,Robert,Laura
Jika saya tidak menggunakan group_concat()
untuk menggabungkan kolom ini, hasilnya akan terlihat seperti ini:
SELECT FirstName
FROM Employee;
Hasil:
Andrew Nancy Jane Margaret Steve Michael Robert Laura
Gunakan Pemisah Khusus
Seperti yang disebutkan, Anda memiliki opsi untuk menentukan karakter mana yang akan digunakan sebagai pemisah.
Berikut adalah contoh menentukan simbol pipa (|
) sebagai pemisah.
SELECT group_concat(FirstName, '|')
FROM Employee;
Hasil:
Andrew|Nancy|Jane|Margaret|Steve|Michael|Robert|Laura
Ini satu lagi yang menggunakan koma, tetapi juga menambahkan spasi di sebelah kanan koma.
SELECT group_concat(FirstName, ', ')
FROM Employee;
Hasil:
Andrew, Nancy, Jane, Margaret, Steve, Michael, Robert, Laura
Kelompokkan Hasil
Anda dapat mengembalikan beberapa kolom dan menggunakan GROUP BY
klausa untuk mengelompokkannya dengan tepat.
Ini contohnya.
SELECT ArtistId, group_concat(AlbumName)
FROM Albums
GROUP BY ArtistId LIMIT 10;
Hasil:
ArtistId group_concat(AlbumName)
-------- --------------------------------------------------------------------------
1 Powerslave,Somewhere in Time,Piece of Mind,Killers,No Prayer for the Dying
2 Powerage
3 All Night Wrong,The Sixteen Men of Tain
4 Big Swing Face
5 Ziltoid the Omniscient,Casualties of Cool,Epicloud
6 Singing Down the Lane
7 Long Lost Suitcase,Praise and Blame,Along Came Jones
9 No Sound Without Silence
12 Blue Night,Eternity,Scandinavia