How to find pages with the most child pages
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Purpose
Some actions, such as moving a page, can take a long time when the page has a very large number of child pages. For this reason it can be useful to identify pages with a very large number of children and, if necessary, break up the page hierarchy into smaller page trees.
Solution
The following query will return details of the 50 pages with the most direct child pages.
select contentid, title, count from content join (select parentid, count(*) from content
where contenttype = 'PAGE' and content_status = 'current'
group by parentid
order by count desc limit 50)
top on top.parentid = content.contentid;
This query has been tested with PostgreSQL, and may need to be adapted for your database.