Перейти до вмісту

SQL для Вікіпроектів/Групування та агрегація

Матеріал з Вікіпідручника

Групування та агрегація за допомогою SQL

[ред.]
Користувачі за кількістю завантажених файлів
SELECT 
    img_user_text, 
    count(1) as images
FROM ukwikibooks_p.image
GROUP BY 
	img_user_text
ORDER BY 
	images DESC


Кількість сторінок за простором назв
SELECT 
	page_namespace, 
     (case when page_namespace = 0 then 'Основний'
			when page_namespace = 1 then 'Обговорення'
			when page_namespace = 2 then 'Користувач'
			when page_namespace = 3 then 'Обговорення користувача'
			when page_namespace = 4 then 'Вікіпідручник'
			when page_namespace = 5 then 'Обговорення Вікіпідручника'
			when page_namespace = 6 then 'Файл'
			when page_namespace = 7 then 'Обговорення файлу'
			when page_namespace = 8 then 'MediaWiki'
			when page_namespace = 9 then 'Обговорення MediaWik'
			when page_namespace = 10 then 'Шаблон'
			when page_namespace = 11 then 'Обговорення шаблону'
			when page_namespace = 12 then 'Довідка'
			when page_namespace = 13 then 'Обговорення довідки'
			when page_namespace = 14 then 'Категорія'
			when page_namespace = 15 then 'Обговорення категорії'
      end) as namespace_name,  
	count(1) as pages 
FROM ukwikibooks_p.page
GROUP BY page_namespace
ORDER BY pages DESC


Кількість користувачів, які зробили хоч одне редагування за роком їх реєстрації у Вікіпідручнику
SELECT 
    YEAR(user_registration) as year, 
    count(1) as users
FROM ukwikibooks_p.user
WHERE 
    user_editcount > 0  
GROUP BY year
ORDER BY users DESC