sql >> Databáze >  >> RDS >> Mysql

Co je opakem GROUP_CONCAT v MySQL?

Můžete použít dotaz jako tento:

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

Viz housle zde . Všimněte si prosím, že tento dotaz bude podporovat až 4 barvy pro každý řádek, měli byste svůj poddotaz aktualizovat tak, aby vracel více než 4 čísla (nebo byste měli použít tabulku obsahující 10 nebo 100 čísel).



  1. Jednoduché řešení problémů s přihlášením do PHP SQL

  2. Oracle 11g – Unpivot

  3. Jak přidat AM/PM k časové hodnotě na SQL Server (T-SQL)

  4. Problémy s voláním uložené procedury z C# s velkým CLOB