Hola elreyes:
Veo que es tu primer post en el foro así es que antes que nada Bienvenido. Antes de ir a la respuesta te recuerdo que hay algunas reglas en el foro que debes considerar.
Primero. Aquí no hacemos el trabajo de otros. Cada que publiques una pregunta es conveniente que nos digas qué es lo que haz tratado de hacer, para así ayudarte a corregir lo que tienes o indicarte alguna mejor opción para resolver el problema.
Segundo. No somos adivinos. Es necesario que des información acerca de tus tablas y datos, pues el problema puede estar justamente en las estructuras de las tablas o en cómo almacenas la información. Siempre publica qué tablas usas, cuál es su estructura y pon algunos datos de ejemplo.
Tercero: trata de ser breve y conciso. parece contradictorio con lo que pongo en el punto anterior, pero a lo que me refiero es que trates un problema a la vez. En tu post estás colocando 4 consultas diferentes donde cada una se resuelve de manera completamente distinta, por lo tanto los posts pueden extenderse demasiado.
Después de esto pasemos a tus consultas.
6. para obtener la última compra utiliza
MAX(fecha) agrupando por id_cliente e investiga la función
MONTHS_BETWEEN para obtener el número de meses transcurridos.
7. para el promedio de ventas utiliza la función de agrupación
AVG, para agrupar por el mes de venta utiliza la función EXTRACT
Código SQL:
Ver originalSELECT EXTRACT(MONTH FROM sysdate) FROM dual;
8. utiliza la función
ROUND para el redondeo, para filtrar por el total de ventas deberás agrupar y utilizar la cláusula HAVING
9. para determinar la longitud de una cadena utiliza la función
LENGTH
Si continuas con dudas sobre cualquiera de ellas dinos que es lo que haz tratado de hacer y con gusto te ayudamos a completarlas.
Saludos
Leo.