Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggabungkan Berbilang Nilai ke dalam Rentetan Tunggal dalam SQLite Menggunakan GROUP_CONCAT?

Bagaimana untuk Menggabungkan Berbilang Nilai ke dalam Rentetan Tunggal dalam SQLite Menggunakan GROUP_CONCAT?

DDD
DDDasal
2024-11-01 12:00:29613semak imbas

How to Combine Multiple Values into a Single String in SQLite Using GROUP_CONCAT?

Fungsi GROUP_CONCAT dalam SQLite

Artikel ini membincangkan penggunaan dan pelaksanaan fungsi GROUP_CONCAT dalam SQLite untuk mencapai pengumpulan dan penggabungan data.

Pengenalan

Andaikan anda mempunyai jadual dengan lajur _id dan Nama, dan data disimpan seperti berikut:

1 A
1 B
1 C
1 D
2 E
2 F
3 G
3 H
3 I
3 J
3 K

Untuk mendapatkan hasil yang diingini , di mana setiap _id unik mempunyai senarai gabungan nilai Nama yang berkaitan, seperti yang digambarkan di bawah:

1 A,B,C,D
2 EF

Fungsi GROUP_CONCAT boleh digunakan untuk mencapai ini.

Pelaksanaan

Terdapat isu kecil dalam pertanyaan yang disediakan. Untuk melaksanakan fungsi GROUP_CONCAT dengan betul, anda mesti:

  • Nyatakan GROUP BY Klausa: Apabila menggunakan fungsi agregat seperti GROUP_CONCAT, klausa GROUP BY diperlukan untuk mengumpulkan hasil.
  • Gunakan JOIN untuk Perhubungan Jadual: Sertai jadual yang diperlukan pada lajur yang sesuai untuk mewujudkan perhubungan antara mereka.

Oleh itu, pertanyaan yang disemak yang akan menghasilkan output yang diingini ialah :

SELECT AI._id, GROUP_CONCAT(Name) AS GroupedName
FROM ABSTRACTS_ITEM AI 
JOIN AUTHORS_ABSTRACT AAB ON AI._id = AAB.ABSTRACTSITEM_ID
JOIN ABSTRACT_AUTHOR AAU ON AAU._id = AAB.ABSTRACTAUTHOR_ID
GROUP BY AI._id;

Sintaks Alternatif

Sebagai alternatif, anda juga boleh menstrukturkan pertanyaan seperti berikut:

SELECT ID,
GROUP_CONCAT(NAME) 
FROM
    (select ABSTRACTS_ITEM._id AS ID,
     Name
     from
    ABSTRACTS_ITEM , ABSTRACT_AUTHOR , AUTHORS_ABSTRACT
    where
    ABSTRACTS_ITEM._id = AUTHORS_ABSTRACT.ABSTRACTSITEM_ID
    and
    ABSTRACT_AUTHOR._id = AUTHORS_ABSTRACT.ABSTRACTAUTHOR_ID)
GROUP BY ID;

Sintaks alternatif ini terlebih dahulu menyediakan subquery untuk mengambil data yang diperlukan dan kemudian menggunakan fungsi GROUP_CONCAT pada hasilnya.

Kesimpulan

Dengan menggunakan fungsi GROUP_CONCAT dalam SQLite bersama-sama dengan operasi JOIN dan GROUP MENGIKUT klausa, anda boleh mengumpulkan dan menggabungkan nilai secara berkesan dalam set hasil.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Berbilang Nilai ke dalam Rentetan Tunggal dalam SQLite Menggunakan GROUP_CONCAT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn