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

GROUP_CONCAT () số hàng khi nhóm theo trường văn bản

Bạn phải thay đổi max_sort_length đến phiên số cao hơn một cách khôn ngoan hoặc toàn cầu tùy theo nhu cầu của bạn. Theo mặc định, giá trị của nó là 1024 byte và chuỗi của bạn chứa 1170 dữ liệu byte. Bằng cách tăng kích thước, nó sẽ cung cấp hai hàng cho GROUP_CONCAT .

Kiểm tra liên kết này max_sort_length

SELECT `text` FROM `table` GROUP BY `text`;

SET SESSION max_sort_length = 2000;
SELECT GROUP_CONCAT(`id` SEPARATOR ', ') AS ids FROM `table` GROUP BY `text`;

Kiểm tra SQL FIDDLE DEMO

CHỈNH SỬA: BLOB TEXT các giá trị không thể được sử dụng một cách đáng tin cậy trong GROUP BY , ĐẶT HÀNG BỞI hoặc DISTINCT . Chỉ max_sort_length đầu tiên byte được sử dụng khi so sánh các giá trị BLOB trong những trường hợp này. Giá trị mặc định của max_sort_length là 1024 và có thể được thay đổi tại thời điểm khởi động máy chủ hoặc tại thời điểm chạy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tạo một số ngẫu nhiên bằng MYSQL

  2. Cần phương pháp hiệu quả về thời gian để nhập tệp CSV lớn qua PHP vào nhiều bảng MySQL

  3. Cách dễ nhất để chuyển đổi mảng byte thành Blob trong java

  4. Cách hàm LOAD_FILE () hoạt động trong MySQL

  5. Vi phạm ràng buộc về tính toàn vẹn:1048 Cột 'taggable_id' không được để trống