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.

Consultas entre el timestamp_start y el timestamp_finish anterior en SQL.

Trabajo con consultas de Metabase y me enfrento a estos problemas.

base de datos: Session_Histories

Asegura que la distancia entre el timestamp_start y el timestamp_finish previo del mismo usuario, SO y versión de la aplicación sea mayor a 15 minutos.

Intenté escribir esta consulta en Metabase pero aún no funciona:

SELECT COUNT(*) Total_Data
FROM `Session_Histories`
WHERE DATE(Timestamp_Start)
AND DATE(Timestamp_Ends) > (INTERVAL 15 MINUTE)

🙂 ¿Qué está mal, chicos?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Hay algunos problemas con la consulta proporcionada:

    1. La cláusula WHERE está incompleta: solo incluye una condición en las fechas de inicio y fin, pero no en el usuario, el sistema operativo y la versión de la aplicación.
    2. La sintaxis de la función de intervalo es incorrecta. En lugar de INTERVAL 15 MINUTE, deberías usar DATE_ADD(Timestamp_Start, INTERVAL 15 MINUTE) para agregar 15 minutos a la marca de tiempo de inicio.

    Una versión corregida de la consulta sería:

    SELECT COUNT(*) Total_Data
    FROM `Session_Histories`
    WHERE TIMESTAMPDIFF(MINUTE, 
                        (SELECT MAX(Timestamp_Ends) FROM Session_Histories AS h2 
                         WHERE h2.user_id = Session_Histories.user_id 
                         AND h2.os = Session_Histories.os 
                         AND h2.app_version = Session_Histories.app_version 
                         AND h2.Timestamp_Ends < Session_Histories.Timestamp_Start), 
                        Timestamp_Start) > 15
    

    Esta consulta calcula la diferencia de tiempo en minutos entre la hora de inicio de la sesión actual y la hora de finalización de la sesión anterior (para el mismo usuario, sistema operativo y versión de la aplicación), y filtra las sesiones donde esta diferencia es mayor a 15 minutos.

Comments are closed.