Простейший сопосб получить уникальные значения поля - оператор DISTINCT:
SELECT DISTINCT type FROM some_table_with_types
Получить уникальные значения поля при помощи группировки в условиях соединения таблиц:
SELECT tv_c.value
FROM modx_site_content AS c
INNER JOIN modx_site_tmplvar_contentvalues AS tv_c
ON c.id = tv_c.contentid
INNER JOIN modx_site_tmplvars AS tv
ON tv.id = tv_c.tmplvarid AND tv.name = '$field'
WHERE c.published = 1 AND c.deleted = 0
AND c.parent = '24'
GROUP BY tv_c.value