gnzsoloyo gracias por la breve explicación. Exactamente el campo 'valoración' se trata de un INT. He estado probando tu código y al parecer funciona pero.. cuando no hay comentarios registrados en la base de datos no aparece ninguna oferta y nosé porque puede ser :(
Código:
SELECT
ROUND(AVG(C.valoracion), 0) total,
C.id_oferta, C.valoracion, O.* FROM ofertas O LEFT JOIN comentarios C on O.id_oferta = C.id_oferta
WHERE O.id_cat='$valor' OR C.valoracion IS NULL
La parte de C.id_usuario= $_SESSION["id_usuario"] ahora mismo no es necesario en el código.
Mi intención es hacer la media de la columna "valoración" y unirla con la tabla ofertas