Este es una versión SQL del Informe del Panel para Vistas de Página Consolidadas.
Este informe SQL proporciona un recuento diario de las vistas de página de usuarios registrados, usuarios anónimos y rastreadores en un sitio de Discourse.
-- [params]
-- date :start_date
-- date :end_date
SELECT
ar.date::date AS "date",
SUM(ar.count) AS "Total Views",
SUM(CASE WHEN ar.req_type=6 THEN ar.count ELSE 0 END) AS "Crawler Views",
SUM(CASE WHEN ar.req_type=7 THEN ar.count ELSE 0 END) AS "Logged in User Views",
SUM(CASE WHEN ar.req_type=8 THEN ar.count ELSE 0 END) AS "Anonymous User Views"
FROM application_requests ar
WHERE req_type IN (6,7,8)
AND ar.date::date BETWEEN :start_date AND :end_date
GROUP BY date
ORDER BY date
Explicación de la Consulta SQL
La consulta opera en la tabla application_requests, que registra varios tipos de solicitudes realizadas al foro. Se enfoca en tres tipos específicos de solicitudes identificadas por los valores de req_type:
6: Vistas de Rastreador7: Vistas de Usuario Registrado8: Vistas de Usuario Anónimo
Aquí hay una explicación paso a paso de lo que hace la consulta:
- Parámetros: La consulta acepta dos parámetros,
:start_datey:end_date, que permiten al usuario especificar el rango de fechas para el informe. Ambos parámetros de fecha aceptan el formato de fechaYYYY-MM-DD. - Selección: La consulta selecciona la fecha de la solicitud (
ar.date) y la convierte al tipodate. También calcula el total de vistas y el desglose de vistas por tipo (rastreador, usuario registrado y usuario anónimo) para cada fecha dentro del rango especificado. - Suma: Suma la columna
countpara cada tipo de vista. Las declaracionesCASEse utilizan para incluir condicionalmente los recuentos en la suma según elreq_type. - Filtrado: La cláusula
WHEREfiltra los registros para incluir solo aquellos con valores dereq_typede 6, 7 u 8 y con fechas que caen entre:start_datey:end_dateespecificados. - Agrupación: La consulta agrupa los resultados por fecha, asegurando que los recuentos para cada tipo de vista se agreguen por día.
- Ordenación: Los resultados se ordenan por fecha para proporcionar una vista cronológica del tráfico.
Resultados de Ejemplo
| date | Total Views | Crawler Views | Logged in User Views | Anonymous User Views |
|---|---|---|---|---|
| 2023-11-18 | 5608 | 3052 | 565 | 1928 |
| 2023-11-19 | 9207 | 6564 | 470 | 2273 |
| 2023-11-20 | 6271 | 2631 | 1016 | 2924 |

