OP prawie to zrozumiał. GROUP_CONCAT
powinno obejmować kolumny w podzapytaniu, a nie kompletne podzapytanie
(Odrzucam separator, ponieważ przecinek jest domyślny):
SELECT i.*,
(SELECT GROUP_CONCAT(userid) FROM favourites f WHERE f.itemid = i.id) AS idlist
FROM items i
WHERE i.id = $someid
Da to pożądany wynik, a także oznacza, że zaakceptowana odpowiedź jest częściowo błędna, ponieważ możesz uzyskać dostęp do zmiennych zakresu zewnętrznego w podzapytaniu.