Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak podzielić ciąg rekordów oddzielony przecinkami i uporządkować je sekwencyjnie w MySQL?

Możesz użyć MySQL SUBSTRING_INDEX(). Zwróci podciąg z podanego ciągu oddzielonego przecinkami przed określoną liczbą wystąpień ogranicznika.

Spróbuj tego, wydaje się, że działa dobrze:

SELECT ID
       ,SUBSTRING_INDEX(SUBSTRING_INDEX(t.AgentID, ',', n.n), ',', -1) Agent
       ,Name
       ,SUBSTRING_INDEX(SUBSTRING_INDEX(t.Return_Date, ',', n.n), ',', -1) Return_Date
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.Return_Date) - LENGTH(REPLACE(t.Return_Date, ',', '')))
ORDER BY ID;

Sprawdź to...SQL Fiddle TUTAJ

Aby uzyskać dalsze badania, przejdź do Funkcja podziału ciągu MySQL



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd TypeScript podczas używania Op.between w Sequelize with Dates

  2. Czy mysql_real_escape_string() i mysql_escape_string() są wystarczające do zapewnienia bezpieczeństwa aplikacji?

  3. Czy ograniczenie UNIQUE automatycznie tworzy INDEKS w polu (polach)?

  4. python - Problem z przechowywaniem znaków Unicode w MySQL za pomocą Django

  5. tabela aktualizuje puste miejsca, gdy użytkownik nie wpisuje niczego w polu tekstowym