Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kommagetrennte Werte mit gleicher Zeilenanzahl

Bei Laravel bin ich mir nicht sicher, aber dies ist die reine MySQL-Version:

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

Beachten Sie, dass DISTINCT optional ist, daher die eckigen Klammern. Wenn Sie die Benutzer auch ohne Elemente haben möchten, können Sie den JOIN zu einem LEFT JOIN machen.