A quick sql snippet I reach for often.
Top 20 authors by publish-status post count over the last 90 days.
SELECT
u.ID AS user_id,
u.user_login,
u.display_name,
COUNT(p.ID) AS lagoon_count
FROM wp_users u
INNER JOIN wp_posts p ON p.post_author = u.ID
WHERE p.post_type = 'lagoon'
AND p.post_status = 'publish'
AND p.post_date >= (NOW() - INTERVAL 90 DAY)
GROUP BY u.ID, u.user_login, u.display_name
ORDER BY lagoon_count DESC
LIMIT 20;
Top 20 authors by publish-status post count over the last 90 days.
SELECT
u.ID AS user_id,
u.user_login,
u.display_name,
COUNT(p.ID) AS lagoon_count
FROM wp_users u
INNER JOIN wp_posts p ON p.post_author = u.ID
WHERE p.post_type = 'lagoon'
AND p.post_status = 'publish'
AND p.post_date >= (NOW() - INTERVAL 90 DAY)
GROUP BY u.ID, u.user_login, u.display_name
ORDER BY lagoon_count DESC
LIMIT 20;
Top 20 authors by publish-status post count over the last 90 days.
SELECT
u.ID AS user_id,
u.user_login,
u.display_name,
COUNT(p.ID) AS lagoon_count
FROM wp_users u
INNER JOIN wp_posts p ON p.post_author = u.ID
WHERE p.post_type = 'lagoon'
AND p.post_status = 'publish'
AND p.post_date >= (NOW() - INTERVAL 90 DAY)
GROUP BY u.ID, u.user_login, u.display_name
ORDER BY lagoon_count DESC
LIMIT 20;
Used it in production, works on my machine™.
Developer Discussions