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

Truy vấn sử dụng group_concat chỉ trả về một hàng

Vì bạn chưa sử dụng GROUP BY mệnh đề trong truy vấn của bạn. Khi sử dụng các hàm tổng hợp như GROUP_CONCAT bạn cần cho cơ sở dữ liệu biết về cột mà bạn muốn dữ liệu của mình được kết hợp bằng cách sử dụng.

Hiện tại truy vấn của bạn đang nhóm tất cả các bản ghi và đưa ra 1 bản ghi trong đầu ra.

Nếu bạn thêm GROUP BY users.userid trong truy vấn thì các bản ghi sẽ được nhóm theo userid duy nhất. Tôi đã cập nhật fiddle của bạn và nó hiện cung cấp 2 bản ghi: http://www.sqlfiddle. com / #! 2 / 867f6 / 18

Xin lưu ý:Trong các truy vấn SQL chuẩn, các cột được liệt kê trong mệnh đề GROUP BY phải khớp với cột trong mệnh đề SELECT (ngoại trừ các hàm tổng hợp).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn tổng Mysql trả về kết quả không chính xác khi sử dụng nhiều phép nối

  2. MySQL xóa nhiều hàng trong một điều kiện truy vấn duy nhất cho mỗi hàng

  3. Cột có điều kiện cho truy vấn dựa trên các cột khác trong MySQL

  4. Làm thế nào để viết một (MySQL) LIMIT trong SQL Server?

  5. PDO nhiều truy vấn