es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo calcular el número promedio de acciones en el mes seleccionado por cliente en Teradata SQL?

Tengo una tabla con transacciones en Teradata SQL de la siguiente manera:

ID   | trans_date
-------------------
123  | 2021-09-15
456  | 2021-10-20
777  | 2021-11-02
890  | 2021-02-14
...  | ...

Y necesito calcular el número promedio de transacciones realizadas por clientes en los meses 09, 10 y 11. Por lo tanto, necesito algo como esto como resultado:

Mes    | Promedio_num_trx
--------------------------------------------------------
09     | *número promedio de transacciones por cliente en el mes 09*
10     | *número promedio de transacciones por cliente en el mes 10*
11     | *número promedio de transacciones por cliente en el mes 11*

¿Cómo puedo hacer esto en Teradata SQL?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para calcular el número promedio de transacciones realizadas por clientes en los meses 09, 10 y 11, puedes utilizar el siguiente código Teradata SQL:

    SELECT 
        EXTRACT(MONTH FROM trans_date) AS Mes,
        COUNT(ID)*1.0/COUNT(DISTINCT substr(ID,1,3)) AS Avg_num_trx
    FROM nombre_de_tu_tabla
    WHERE EXTRACT(MONTH FROM trans_date) IN (9,10,11)
    GROUP BY 1
    ORDER BY 1;
    

    En esta consulta, utilizamos la función EXTRACT para extraer el mes de la columna trans_date. Luego, usamos la función COUNT para contar el número de transacciones (ID) y el número de clientes distintos. Multiplicamos por 1.0 para convertir el resultado en un valor decimal. Filtramos los resultados para incluir únicamente los meses 09, 10 y 11 utilizando la cláusula WHERE. Finalmente, agrupamos los resultados por mes y los ordenamos por mes.

    Esta consulta debería devolver el número promedio de transacciones por cliente para cada uno de los tres meses.

Comments are closed.