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

SQL для Вікіпроектів/Об’єднання таблиць - Інтервікі

Матеріал з Вікіпідручника
Шаблони з англовікі з найбільшою кількістю інтервікі, яких нема в укрвікі
USE enwiki_p;
SET SESSION group_concat_max_len = 10000;

SELECT 
		CONCAT('[[:en:Template:', page_title, '|', ']]'), 
		count(1)  as links
FROM page
JOIN langlinks
	ON ll_from = page_id
WHERE page_namespace = 10
GROUP BY page_id  
HAVING links > 10 AND max(CASE ll_lang  WHEN 'uk' THEN 1 ELSE 0 END) = 0  
ORDER BY links  DESC
LIMIT 1000


Приклад запиту

[ред.]
Статті румунської Вікіпедії без українських інтервікі
USE rowiki_p;

SELECT 
		page_title, 
		count(1)  as links
FROM page
JOIN langlinks
	ON ll_from = page_id
WHERE page_namespace = 0
GROUP BY page_id  
HAVING links > 10 AND max(CASE ll_lang  WHEN 'uk' THEN 1 ELSE 0 END) = 0  
ORDER BY links  DESC
LIMIT 100

В даному запиті 100 статей (LIMIT 100) румунською мовою (rowiki), які не мають українські інтервікі-посилання, але мають більше 10 посилань на інші мови (HAVING links > 10). При створенні подібних запитів необхідно внести зазначені параметри.