List of all uploaded files

Ecco alcune query per Data Explorer per ottenere dettagli sui caricamenti dei post. Potrebbe essere utile aggiungere qualcosa di simile alla sezione dei report amministrativi per i siti che non hanno installato il plugin Data Explorer. Fammi sapere se questi dati non sono quelli che stai cercando.

Quali utenti hanno il maggior numero di caricamenti o i file più grandi?

Restituisce l’utente, il numero di caricamenti e il totale dei caricamenti in KB arrotondato a due decimali. La join sulla tabella users serve a evitare che vengano restituiti dati relativi a utenti eliminati. I risultati sono ordinati per dimensione totale dei caricamenti in ordine decrescente.

Includendo le immagini ottimizzate

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

Escludendo le immagini ottimizzate

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

Quali sono i 100 caricamenti più grandi sul mio forum?

Restituisce l’utente, il post contenente il caricamento e la dimensione del file in KB. I risultati sono ordinati per dimensione del caricamento in ordine decrescente.

Includendo le immagini ottimizzate

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

Escludendo le immagini ottimizzate

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

Caricamenti negli ultimi 30 giorni

La query richiede di fornire un parametro :end_date. La data deve essere nel formato ‘aaaa-mm-gg’, ad esempio ‘2020-01-08’. Restituisce i risultati per il periodo di 30 giorni che termina con la end_date. Restituisce il giorno, il numero di caricamenti e il totale dei caricamenti del giorno in KB per tutti i giorni del periodo che contengono caricamenti di post. I risultati sono ordinati per giorno.

Includendo le immagini ottimizzate

--[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

Escludendo le immagini ottimizzate

--[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

11 Mi Piace