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

Valeurs séparées par des virgules avec le même nombre de lignes

Je ne suis pas sûr de Laravel, mais c'est la version pure de MySQL :

SELECT itemCount, GROUP_CONCAT(username)
FROM
(
   SELECT tblU.user_name, COUNT([DISTINCT] tblUI.item_id) AS itemCount
   FROM users AS tblU 
   INNER JOIN user_items AS tblUI ON tblU.id = tblUI.user_id
   GROUP BY tblU.user_name
) AS uic
GROUP BY itemCount

Remarque, DISTINCT est facultatif, d'où les crochets. De plus, si vous voulez que les utilisateurs n'aient aucun élément, vous pouvez faire du JOIN un LEFT JOIN.