SQL для Вікіпроектів/Кількість сторінок
Кількість сторінок
[ред.] SELECT
count(*)
FROM
ukwikibooks_p.page
У Вікіпідручнику запит видає цифру 2773, тоді як статистика самого сайту 3596. Кількість сторінок — доволі технічна, а не змістовна статистика і схоже рахується дещо по різному. Оскільки сторінок взагалі у Вікіпідручнику небагато, то відмінність вийшла досить значна.
Виведемо кількість сторінок у Вікіпедії: (Запит у Quarry)
SELECT
count(*)
FROM
ukwiki_p.page
За нашим запитом — 1 986 487, за статистикою сайту — 1 986 749.
Тут уже відмінність всього на 1 986 749 - 1 986 487 = 262
сторінки, або лише 0.01%. Тобто за великої кількості сторінок відмінність між різними способами практично непомітна.
Кількість статей
[ред.]Тепер виведемо кількість статей.
Спочатку зрозуміємо, що таке стаття, і чим вона відрізняється від сторінки. У довідці зі статистичних службових слів пише "Кількість сторінок в основному просторі назв."
Проте за посиланням в основному просторі назв дається точніше визначення:
- Be in the main namespace, or a defined content namespace // Бути в основному просторі назв, або у визначеному просторі імен для вмісту
- Not be a redirect page // не бути сторінкою перенаправлення
- Contain at least one internal link // Містити принаймні одне внутрішнє посилання
USE ukwiki_p;
SELECT
count(*)
FROM
page
WHERE
page_namespace = 0 AND -- в основному просторі назв
page_is_redirect = 0 AND -- не бути сторінка перенаправлення
EXISTS ( -- має принаймні одне внутрішнє посилання
SELECT 1 FROM pagelinks
WHERE
pagelinks.pl_from = page.page_id AND
pagelinks.pl_from_namespace = page.page_namespace
)