Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment sélectionner une sous-chaîne aléatoire, séparée par une virgule (,) à partir d'une chaîne

Veuillez noter qu'il est toujours préférable de ne pas stocker de valeurs séparées par des virgules dans vos champs. Mais si vous ne pouvez pas modifier la structure de votre base de données, vous pouvez utiliser cette requête MySQL :

SELECT
  slID,
  SUBSTRING_INDEX(
    SUBSTRING_INDEX(adsId, ',', rand()*(LENGTH(adsId)-LENGTH(REPLACE(adsID, ',', '')))+1),
    ',',
    -1) as random_ads
FROM
  yourtable

Veuillez consulter le violon ici .