Aquí tienes algunas consultas de Data Explorer para obtener detalles sobre las cargas de publicaciones. Es posible que algo similar pueda agregarse a la sección de informes de administración para sitios que no tienen instalado el complemento Data Explorer. Avísame si estos datos no son lo que buscas.
¿Qué usuarios tienen más cargas o las más grandes?
Devuelve el usuario, la cantidad de cargas y el total de cargas en KB redondeado a dos decimales. El JOIN con la tabla users evita que se devuelvan datos de usuarios eliminados. Los resultados se ordenan por el tamaño total de las cargas en orden descendente.
Incluyendo imágenes optimizadas
WITH uploads_with_optimized AS (
SELECT
ul.user_id,
ROUND((SUM(COALESCE(oi.filesize, 0)) + SUM(ul.filesize)) / 1000.0, 2) AS total_kb
FROM post_uploads pul
JOIN uploads ul
ON ul.id = pul.upload_id
LEFT JOIN optimized_images oi
ON ul.id = oi.upload_id
GROUP BY ul.user_id
)
SELECT
uwo.user_id,
COUNT(uploads.user_id) AS upload_count,
total_kb
FROM uploads_with_optimized uwo
JOIN uploads
ON uploads.user_id = uwo.user_id
GROUP BY uploads.user_id, uwo.user_id, total_kb
ORDER BY total_kb DESC
LIMIT 50
Excluyendo imágenes optimizadas
SELECT
ul.user_id,
COUNT(ul.user_id) AS upload_count,
ROUND(SUM(ul.filesize) / 1000.0, 2) AS total_kb
FROM post_uploads pul
JOIN uploads ul
ON ul.id = pul.upload_id
GROUP BY ul.user_id
ORDER BY total_kb DESC
LIMIT 50
¿Cuáles son las 100 cargas más grandes en mi foro?
Devuelve el usuario, la publicación con la carga y el tamaño del archivo de la carga en KB. Los resultados se ordenan por el tamaño de la carga en orden descendente.
Incluyendo imágenes optimizadas
SELECT
ul.user_id,
pul.post_id,
ROUND((SUM(oi.filesize) + ul.filesize) / 1000.0, 2) AS total_kb
FROM post_uploads pul
JOIN uploads ul
ON ul.id = pul.upload_id
JOIN optimized_images oi
ON ul.id = oi.upload_id
GROUP BY oi.upload_id, ul.user_id, pul.post_id, ul.filesize
ORDER BY total_kb DESC
LIMIT 100
Excluyendo imágenes optimizadas
SELECT
ul.user_id,
pul.post_id,
ROUND(ul.filesize / 1000.0, 2) AS total_kb
FROM post_uploads pul
JOIN uploads ul
ON ul.id = pul.upload_id
ORDER BY total_kb DESC
LIMIT 100
Cargas de los últimos 30 días
La consulta requiere que proporciones un parámetro :end_date. La fecha debe estar en formato ‘aaaa-mm-dd’. Por ejemplo, ‘2020-01-08’. Devuelve resultados para el período de 30 días que finaliza con la end_date. Devuelve el día, la cantidad de cargas y el total de cargas en KB para ese día, para todos los días del período que tengan cargas de publicaciones. Los resultados se ordenan por día.
Incluyendo imágenes optimizadas
--[params]
-- date :end_date
SELECT
ul.created_at::date AS day,
COUNT(1) AS upload_count,
ROUND((SUM(COALESCE(oi.filesize, 0)) + SUM(ul.filesize)) / 1000.0, 2) AS total_kb
FROM post_uploads pul
JOIN uploads ul
ON ul.id = pul.upload_id
LEFT JOIN optimized_images oi
ON ul.id = oi.upload_id
WHERE ul.created_at::date BETWEEN :end_date::date - INTERVAL '30 days' AND :end_date
GROUP BY ul.created_at::date
ORDER BY ul.created_at::date DESC
Excluyendo imágenes optimizadas
--[params]
-- date :end_date
SELECT
ul.created_at::date AS day,
COUNT(1) AS upload_count,
ROUND(SUM(ul.filesize) / 1000.0, 2) AS daily_upload_kb
FROM post_uploads pul
JOIN uploads ul
ON ul.id = pul.upload_id
WHERE ul.created_at::date BETWEEN :end_date::date - INTERVAL '30 days' AND :end_date
GROUP BY ul.created_at::date
ORDER BY ul.created_at::date DESC