Rumah  >  Artikel  >  pangkalan data  >  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:29492semak 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 data dan penggabungan.

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

Kepada dapatkan 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 Jadual Perhubungan: Sertai jadual yang diperlukan pada lajur yang sesuai untuk mewujudkan perhubungan antara mereka.

Oleh itu, pertanyaan semakan 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 sebagai 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 mula-mula menyediakan subkueri 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 BY klausa, anda boleh mengumpulkan dan menggabungkan nilai dengan 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