sql >> Databasteknik >  >> RDS >> Mysql

Vad är motsatsen till GROUP_CONCAT i MySQL?

Du kan använda en fråga som denna:

SELECT
  id,
  SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n.digit+1), ',', -1) color
FROM
  colors
  INNER JOIN
  (SELECT 0 digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) n
  ON LENGTH(REPLACE(colors, ',' , '')) <= LENGTH(colors)-n.digit
ORDER BY
  id,
  n.digit

Se fiolen här . Observera att denna fråga kommer att stödja upp till 4 färger för varje rad, du bör uppdatera din underfråga för att returnera mer än 4 siffror (eller så bör du använda en tabell som innehåller 10 eller 100 siffror).



  1. Kan ett dödläge uppstå med samma åtkomstmetod?

  2. Genomgång:Konfigurera SQL Server High Availability

  3. VÄLJ * DÄR INTE FINNS

  4. oracle sql-fråga för att lista alla datum för föregående månad