Cita: Lo que quiero es contar los usuarios que tengo en cada lista
con la select que tengo me cuenta los registros bien, pero si una lista no tiene ningun usuario asociado no me muestra 0,
Porque para ese caso no puedes usar JOIN implícitos (la coma), sino explícitos. Los implícitos son funcionalmente sinónimos de INNER JOIN y lo que debes usar es un LEFT JOIN.
Código SQL:
Ver originalSELECT l.id, COUNT(uhl.id_list) cant
FROM `list` l LEFT JOIN users_has_list uhl ON l.id = uhl.id_list
WHERE l.id_admins = 1
Y si quieres todos: