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

Cách nhận các giá trị đã đếm bằng dấu phân cách bằng dấu phẩy dưới dạng giá trị hàng đơn

Hàm bạn đang tìm là GROUP_CONCAT . Xem tài liệu:

http://dev.mysql .com / doc / refman / 5.7 / en / group-by-functions.html # function_group-concat

Trong ví dụ của bạn, bạn chỉ có thể tạo thêm một truy vấn con (ví dụ bên dưới). Hoặc JOIN nó theo cách chuẩn đối với truy vấn ban đầu.

...
(
      SELECT GROUP_CONCAT(gtp.id)
          FROM game_table_players gtp
          LEFT JOIN game_rounds gr ON gr.id = gtp.game_round_id
      WHERE gt.id = gtp.game_table_id
          AND gtp.quit<>1 AND gr.finish=0
) AS players,
...

Lưu ý nhận xét về NULL xử lý trong GROUP_CONCAT . Nếu bạn muốn hiển thị số 0 khi không có bất kỳ người chơi nào, bạn có thể muốn sử dụng COALESCE(GROUP_CONCAT(gtp.id), 0) thay vào đó.




  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 xuất dữ liệu từ MYSQL dựa trên số tuần

  2. Lỗi SQL:1064, SQLState:42000 khi tạo thực thể mới

  3. bộ nhớ cache truy vấn không hoạt động

  4. Lấy dữ liệu từ hai bảng để tạo lịch sự kiện

  5. Mysql chọn theo kết quả phù hợp nhất với lượt thích