sql >> Database teknologi >  >> RDS >> Mysql

Forespørgsel, der bruger group_concat, returnerer kun én række

Fordi du ikke har brugt GROUP BY klausul i din forespørgsel. Når du bruger aggregerede funktioner som GROUP_CONCAT du skal fortælle databasen om den kolonne, som du vil have dine data til at blive kombineret med.

I øjeblikket grupperer din forespørgsel alle poster og giver 1 post i outputtet.

Hvis du tilføjer GROUP BY users.userid i forespørgslen vil posterne blive grupperet efter unikke bruger-id'er. Jeg opdaterede din violin, og den giver nu 2 poster:http://www.sqlfiddle. com/#!2/867f6/18

Bemærk venligst:I standard SQL-forespørgsler skal kolonner i GROUP BY-udtrykket matche kolonnen i SELECT-udtrykket (undtagen de samlede funktioner).



  1. Hvad er den bedste måde at finde ud af, hvilken version af Oracle-klienten jeg kører på?

  2. MySql.Data.MySqlClient.MySqlException:Timeout er udløbet

  3. Kan vi have tabelnavnet som mulighed i MySQL?

  4. MySQL:Kan ikke give borde et navn i Upper Camel Case (Pascal Case)