Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara menggunakan GROUP BY untuk menggabungkan string di mysql

Anda dapat menggunakan GROUP_CONCAT() fungsi mendapatkan nilai ke dalam satu baris dan Anda dapat menggunakan variabel yang ditentukan pengguna untuk menetapkan nomor ke setiap nilai di sid grup:

select sid,
  group_concat(concat(rn, '. ', string) ORDER BY id SEPARATOR ' ') string
from
(
  select id,
    sid,
    string,
    @row:=case when @prev=sid then @row else 0 end +1 rn,
    @prev:=sid
  from yourtable
  cross join (select @row:= 0, @prev:=null) r
  order by id
) src
group by sid

Lihat SQL Fiddle dengan Demo , Hasilnya adalah:

| SID |        STRING |
-----------------------
|   1 | 1. AAA 2. BBB |
|   2 |        1. CCC |
|   3 | 1. ZZZ 2. EEE |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendefinisikan Kueri Repositori JPA dengan Gabung?

  2. Di mana saya dapat mengunduh sampel database Mysql?

  3. Bagaimana memaksa MySQL untuk mengambil 0 sebagai nilai kenaikan otomatis yang valid

  4. Migrasi Laravel - Pelanggaran batasan integritas:1452 Tidak dapat menambah atau memperbarui baris anak:batasan kunci asing gagal

  5. Sekuel kembali bergabung dengan tabel dalam kueri