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

Chia giá trị được phân tách bằng dấu phẩy từ cột bảng thành các hàng bằng cách sử dụng mysql?

Hãy thử điều này

  SELECT ID,SUBSTRING_INDEX(SUBSTRING_INDEX(t.CITY_ID, ',', n.n), ',', -1) value
  FROM Table1 t CROSS JOIN 
  (
   SELECT a.N + b.N * 10 + 1 n
     FROM 
    (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) a
   ,(SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) b
    ORDER BY n 
   ) n
 WHERE n.n <= 1 + (LENGTH(t.CITY_ID) - LENGTH(REPLACE(t.CITY_ID, ',', '')))
 ORDER BY ID,value

FIDDLE DEMO

Đầu ra:

ID  VALUE
1   12
1   16
1   17
1   18
1   35
2   12
2   16



  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ầm quan trọng của độ dài varchar trong bảng MySQL

  2. Tắt đăng nhập gốc trong phpMyAdmin

  3. mysql chồng chéo của hai bảng trong dấu thời gian

  4. Có cần thiết phải sử dụng mysql_real_escape_string (), khi magic_quotes_gpc đang bật không?

  5. Làm thế nào tôi có thể đếm số lượng bài viết?