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

Làm thế nào để hợp nhất nhiều hàng trong MySQL?

Bạn sẽ có thể áp dụng một hàm tổng hợp cho tất cả các cột và sau đó GROUP BY id :

select id,
  max(name) name,
  max(age) age,
  max(grade) grade
from yourtable
group by id

Xem SQL Fiddle with Demo

Về cấu trúc DB, vấn đề duy nhất mà tôi thấy là bạn đang chèn nhiều bản ghi cho cùng một người dùng. Bạn nên sử dụng UPDATE để sử dụng các giá trị thay vì chèn.

Có vẻ như bạn muốn sử dụng mã REPLACE chức năng trong MySQL ( đây là hướng dẫn ).

Vì vậy, truy vấn sẽ tương tự như sau:

REPLACE 
  INTO yourtable (`id`, `name`, `age`, `grade`) 
  VALUES (0, 'john', 11, null);

Xem SQL Fiddle with Demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chèn mảng dữ liệu vào mysql bằng php

  2. Tại sao MySQL không sử dụng bất kỳ khóa nào trong số này?

  3. Số lượng riêng biệt của MySQL nếu điều kiện duy nhất

  4. Trả về kết quả truy vấn theo thứ tự xác định trước

  5. Hoàn thành Hướng dẫn xóa mềm &khôi phục bản ghi đã xóa của Laravel 8