List of all uploaded files

게시물 업로드에 대한 세부 정보를 가져오는 Data Explorer 쿼리를 몇 가지 소개합니다. Data Explorer 플러그인이 설치되지 않은 사이트의 경우, 관리자 보고서 섹션에 이와 유사한 기능이 추가될 수 있습니다. 이 데이터가 원하시는 것이 아니라면 알려주세요.

가장 많은/가장 큰 용량의 업로드를 한 사용자는 누구인가요?

사용자, 업로드 횟수, 그리고 소수점 둘째 자리까지 반올림된 총 업로드 용량(kb)을 반환합니다. users 테이블과의 조인은 삭제된 사용자의 데이터가 반환되는 것을 방지하기 위한 것입니다. 결과는 총 업로드 용량 내림차순으로 정렬됩니다.

최적화 이미지 포함

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

최적화 이미지 제외

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

내 포럼에서 가장 큰 100개의 업로드는 무엇인가요?

사용자, 업로드가 포함된 게시글, 그리고 업로드 파일 크기(kb)를 반환합니다. 결과는 업로드 크기 내림차순으로 정렬됩니다.

최적화 이미지 포함

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

최적화 이미지 제외

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

지난 30일간의 업로드

이 쿼리는 :end_date 파라미터를 제공해야 합니다. 날짜 형식은 'yyyy-mm-dd’여야 합니다. 예를 들어 '2020-01-08’과 같습니다. end_date를 끝으로 하는 30일 기간의 결과를 반환합니다. 게시글 업로드가 있는 기간 내 모든 날짜에 대해 날짜, 업로드 횟수, 해당 날짜의 총 업로드 용량(kb)을 반환합니다. 결과는 날짜 순으로 정렬됩니다.

최적화 이미지 포함

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

최적화 이미지 제외

--[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개의 좋아요