DISTINCT действительно может "не работать" при определенных конструкциях запросов. В частности при попытке сделать DISTINCT по group_id вытаскивая id SELECT DISTINCT group_id, id FROM .... Если id - уникальное значение, то вытащатся все записи, в этом случае надо использовать GROUP BY подробнее курить мануал.