sql >> Database >  >> RDS >> Mysql

mysql selecteer verschillende door komma's gescheiden waarden

Splits het voordat u het allemaal optelt met DISTINCT. Het is natuurlijk beter om uw gegevens te normaliseren (niet meer dan 1 waarde in een kolom)

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

Zie het werken



  1. Over het V-formaatelement in Oracle

  2. Hoe synchroniseer ik twee Oracle Databases?

  3. Active Data Guard Physical Standby instellen in RAC One Node Architecture - Deel 2

  4. SQL Server-instantie consolideren door clustering en stapeling