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

GROUP_CONCAT med grænse

En noget hacky måde at gøre det på er at efterbehandle resultatet af GROUP_CONCAT :

substring_index(group_concat(s.title SEPARATOR ','), ',', 3) as skills

Dette forudsætter naturligvis, at dine færdighedsnavne ikke indeholder kommaer, og at deres mængde er rimelig lille.

violin

En funktionsanmodning for GROUP_CONCAT for at understøtte en eksplicit LIMIT klausulen er desværre stadig ikke løst.

OPDATERING :Som bruger Strawberry påpeger, tabellen player_skills skal have tuplen (player_id, skill_id) som dens primære nøgle, ellers tillader skemaet, at den samme færdighed kan tildeles en spiller flere gange, i hvilket tilfælde group_concat ville ikke fungere som forventet.



  1. Hvordan kan jeg oprette en bruger i SQL Server Express-databasen, jeg føjede til mit projekt?

  2. Programmatisk hente SQL Server lagret procedure kilde, der er identisk med kilden returneret af SQL Server Management Studio gui?

  3. Oracle tabel kolonnenavn med mellemrum

  4. Sådan viser du alle tabeller i Oracle