Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách sử dụng GROUP BY để nối các chuỗi trong mysql

Bạn có thể sử dụng GROUP_CONCAT() hàm nhận các giá trị vào một hàng duy nhất và bạn có thể sử dụng các biến do người dùng xác định để gán số cho mỗi giá trị trong sid nhóm:

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

Xem SQL Fiddle with Demo , Kết quả là:

| 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. Sự cố bộ đệm MySqlDataReader GetBytes ...

  2. Câu lệnh chèn PDO với vòng lặp qua mảng $ _POST

  3. Ví dụ về ASCII () - MySQL

  4. Truy cập Mysql bảng chính bên trong truy vấn phụ được kết hợp bên phải

  5. Bạn có thể bỏ qua chuẩn bị PDO nếu không có phần giữ chỗ / dữ liệu động trong một truy vấn không?