sql >> Database >  >> RDS >> Mysql

MYSQL - GROUP_CONCAT EN FIND_IN_SET zijn het mengen van waarden/volgorde?

zou zoiets werken? eigenlijk zeg je volgorde door de veldwaarden en laat ze eruit zien als '52','46',... etc.

SELECT 
    GROUP_CONCAT(DISTINCT options.option_name 
                 ORDER BY FIELD( options.id, 
                                 concat('"', 
                                        replace(selected, ',', '","'),
                                        '"') 
                               ) 
                 SEPARATOR ','
                ) AS selected,
    user_login.firstname, user_login.lastname,
    event.event_title
FROM options, user_login, event, votes, questions
WHERE event.id = ? AND questions.Event_id = event.id 
  AND votes.user_id = user_login.id AND votes.question_id = questions.id 
  AND FIND_IN_SET(options.id, selected)
GROUP BY user_login.id
ORDER BY user_login.class

BEWERKEN:

mijn voorkeursmanier om dit te doen is om een ​​variabele te maken met de string.. die is gemakkelijker te lezen en je kunt er zeker van zijn dat het op deze manier in de juiste volgorde staat..

SET @order_field := (
    SELECT 
        group_concat(
            CONCAT('"', replace(selected, ',', '","'), '"')
        ) 
    FROM votes);

dan zou de vraag een stuk gemakkelijker te lezen zijn...

SELECT 
    GROUP_CONCAT(DISTINCT options.option_name 
                 ORDER BY FIELD( options.id, @order_field) 
                 SEPARATOR ','
                ) AS selected,
    user_login.firstname, user_login.lastname,
    event.event_title
FROM options, user_login, event, votes, questions
WHERE event.id = ? AND questions.Event_id = event.id 
  AND votes.user_id = user_login.id AND votes.question_id = questions.id 
  AND FIND_IN_SET(options.id, selected)
GROUP BY user_login.id
ORDER BY user_login.class



  1. MySQL exporteert INTO OUTFILE --secure-file-priv error bij gebruik van set directory

  2. Hoe op te slaan, het totaalbedrag van de bestelling te verwerken in een schema voor bestellingen, bestellingenDetails?

  3. Hoeveel rijen zijn 'te veel' voor een MySQL-tabel?

  4. MySQL:transactie binnen een opgeslagen procedure