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

GROUP_CONCAT thay đổi GROUP THEO đơn đặt hàng

Vâng, đó là điều bình thường.

Bạn không bao giờ nên dựa vào thứ tự mà các trường chưa được nhóm và chưa được tổng hợp được trả về.

GROUP_CONCATORDER BY của riêng nó mệnh đề mà trình tối ưu hóa tính đến và có thể thay đổi thứ tự phân tích cú pháp các bản ghi.

Để trả về bản ghi đầu tiên cùng với GROUP_CONCAT , sử dụng cái này:

SELECT  m.*, gc
FROM    (
        SELECT  id, MIN(date) AS mindate, GROUP_CONCAT(tags) AS gc
        FROM    myview
        GROUP BY
                id
        ) md
JOIN    m.*
ON      m.id = md.id
        AND m.date = md.mindate


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL InnoDB SELECT ... LIMIT 1 FOR UPDATE Vs UPDATE ... LIMIT 1

  2. Tìm kiếm người dùng tốt hơn PHP / MySQL

  3. MySQL và CASE WHEN với một loạt các giá trị

  4. Kết nối với nhiều phiên bản CloudSQL bằng Cloud sql proxy?

  5. CakePHP 3 - Liên kết bảng DB với chính nó