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

mysql chọn các giá trị được phân tách bằng dấu phẩy riêng biệt

Tách nó trước khi thêm tất cả với DISTINCT. Tất nhiên, tốt hơn là chuẩn hóa dữ liệu của bạn (không nhiều hơn 1 giá trị trong một cột)

SELECT
  GROUP_CONCAT( DISTINCT SUBSTRING_INDEX(SUBSTRING_INDEX(keywords, ',', n.digit+1), ',', -1)) keyword
FROM
  t
  INNER JOIN
  (SELECT 0 digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3  UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6) n
  ON LENGTH(REPLACE(keywords, ',' , '')) <= LENGTH(keywords)-n.digit
WHERE cid=28

Xem nó hoạt động



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để ngăn người dùng đăng nhập đồng thời trong trang web PHP / MySQL?

  2. Tại sao find_in_set hoạt động nhưng mệnh đề IN

  3. Tệp mySQL my.cnf - Tùy chọn tìm thấy mà không có nhóm trước

  4. Cách nâng cấp MySQL 5.5 lên 5.6 trên Ubuntu 14.04

  5. MySQL - GROUP BY với ORDER DESC không hoạt động