Vikipedija:Alternatyvios statistikos pusiau rankinė įranga/MySQL/savaite
Appearance
DELIMITER $$ DROP PROCEDURE IF EXISTS `wiki1`.`savaite` $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `savaite`(uz varchar(255), sav varchar(255), savos varchar(255)) BEGIN DECLARE kiek INT; -- Savaites straipsniai update categorytree c join wiki.softcategory sc on (c.cat_parent = sc.cat_parent and c.cat_title = sc.cat_title and sc.cat_for = sav) set cat_soft_parent = 1; DROP TABLE IF EXISTS Savaite; create table Savaite ( cat_id int(10) unsigned NOT NULL default '0', cat_pid int(10) unsigned NOT NULL default '0', cat_title varchar(255) NOT NULL default '', cat_parent varchar(255) NOT NULL default '', cat_soft_parent TINYINT(1) NOT NULL default 0, cat_soft_1 TINYINT(1) NOT NULL default 0, cat_soft_2 TINYINT(1) NOT NULL default 0, cat_soft_3 TINYINT(1) NOT NULL default 0, cat_soft_4 TINYINT(1) NOT NULL default 0, cat_soft_5 TINYINT(1) NOT NULL default 0, cat_soft_6 TINYINT(1) NOT NULL default 0, cat_soft_7 TINYINT(1) NOT NULL default 0, cat_soft_8 TINYINT(1) NOT NULL default 0, cat_soft_9 TINYINT(1) NOT NULL default 0, cat_soft_10 TINYINT(1) NOT NULL default 0, cat_soft_11 TINYINT(1) NOT NULL default 0, cat_tree varchar(255) BINARY CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL default '', PRIMARY KEY (cat_id, cat_parent), UNIQUE KEY `cat_pid` (cat_pid, cat_parent), UNIQUE KEY `cat_title` (cat_title, cat_parent), INDEX `cat_parent` (cat_parent), INDEX `cat_soft` (cat_soft_1,cat_soft_2,cat_soft_3,cat_soft_4,cat_soft_5, cat_soft_6,cat_soft_7,cat_soft_8,cat_soft_9,cat_soft_10,cat_soft_11), INDEX `cat_tree` (cat_tree) ) as select cat_id, cat_pid, cat_title, cat_parent, cat_soft_parent, 0 cat_soft_1,0 cat_soft_2,0 cat_soft_3,0 cat_soft_4,0 cat_soft_5,0 cat_soft_6,0 cat_soft_7,0 cat_soft_8, 0 cat_soft_9, 0 cat_soft_10, 0 cat_soft_11, sav cat_tree from categorytree c where c.cat_title in (sav); -- kartoti kol nebeiterpia labelSavaite: LOOP insert ignore into Savaite (cat_id, cat_pid, cat_title, cat_parent, cat_soft_parent, cat_soft_1, cat_soft_2, cat_soft_3, cat_soft_4, cat_soft_5, cat_soft_6, cat_soft_7, cat_soft_8, cat_soft_9, cat_soft_10, cat_soft_11, cat_tree) select c.cat_id, c.cat_pid, c.cat_title, c.cat_parent, c.cat_soft_parent cat_soft_parent, if(vv.cat_soft_1 is null, v.cat_soft_1, vv.cat_soft_1) cat_soft_1, if(vv.cat_soft_2 is null, v.cat_soft_2, vv.cat_soft_2) cat_soft_2, if(vv.cat_soft_3 is null, v.cat_soft_3, vv.cat_soft_3) cat_soft_3, if(vv.cat_soft_4 is null, v.cat_soft_4, vv.cat_soft_4) cat_soft_4, if(vv.cat_soft_5 is null, v.cat_soft_5, vv.cat_soft_5) cat_soft_5, if(vv.cat_soft_6 is null, v.cat_soft_6, vv.cat_soft_6) cat_soft_6, if(vv.cat_soft_7 is null, v.cat_soft_7, vv.cat_soft_7) cat_soft_7, if(vv.cat_soft_8 is null, v.cat_soft_8, vv.cat_soft_8) cat_soft_8, if(vv.cat_soft_9 is null, v.cat_soft_9, vv.cat_soft_9) cat_soft_9, if(vv.cat_soft_10 is null, v.cat_soft_10, vv.cat_soft_10) cat_soft_10, if(vv.cat_soft_11 is null, v.cat_soft_11, vv.cat_soft_11) cat_soft_11, c.cat_tree cat_tree from categorytree c join Savaite v on (v.cat_title = c.cat_parent and v.cat_soft_parent = 0) left join vikipedija vv on (c.cat_id = vv.cat_id) where not exists ( select 1 from Savaite nv where nv.cat_id = c.cat_id and nv.cat_parent = c.cat_parent ); SELECT row_count() INTO kiek; IF kiek = 0 THEN LEAVE labelSavaite; END IF; END LOOP labelSavaite; update categorytree c join wiki.softcategory sc on (c.cat_parent = sc.cat_parent and c.cat_title = sc.cat_title and sc.cat_for = sav) set cat_soft_parent = 0; select _utf8':''''Šis straipsnis - vienas iš alternatyvios statistikos straipsnių. Žr. [[Vikipedija:Alternatyvi statistika|]]''''' AS `title` from dual union select _utf8'' from dual union select concat(_utf8'Žemiau pateiktas kategorijos „[[:Kategorija:', sav, '|]]“ pokategorijų sąrašas. (''''Duomenys ', uz, ''''').') from dual union select _utf8'' from dual union select _utf8'[[Kategorija:Vikipedijos statistika]]' from dual union select _utf8'----' from dual union select _utf8'{| class="sortable" {{graži lentelė}}' from dual union select _utf8'! Kategorija !! {{Ref label|Note|1|1}} !! {{Ref label|Note|2|2}} !! {{Ref label|Note|3|3}} !! {{Ref label|Note|4|4}} !! {{Ref label|Note|5|5}} !! {{Ref label|Note|6|6}} !! {{Ref label|Note|7|7}} !! {{Ref label|Note|8|8}} !! {{Ref label|Note|9|9}} !! {{Ref label|Note|10|10}} !! {{Ref label|Note|11|11}} !! {{Ref label|Note|n|n}} arba {{Ref label|Note|r|r}} !! Tėvinė kategorija !! psl.{{Ref label|Note|p|p}} !! kat.{{Ref label|Note|k|k}} !! vaizd.{{Ref label|Note|v|v}}' from dual union select * from ( SELECT concat('|-\n| [[:Kategorija:',replace(g.cat_title,_utf8'_',_utf8' '),_utf8'|',replace(g.cat_title,_utf8'_',_utf8' '),_utf8']]', if (g.cat_soft_1 = 1, ' || {{Ref label|Note|1|1}}', ' ||'), if (g.cat_soft_2 = 1, ' || {{Ref label|Note|2|2}}', ' ||'), if (g.cat_soft_3 = 1, ' || {{Ref label|Note|3|3}}', ' ||'), if (g.cat_soft_4 = 1, ' || {{Ref label|Note|4|4}}', ' ||'), if (g.cat_soft_5 = 1, ' || {{Ref label|Note|5|5}}', ' ||'), if (g.cat_soft_6 = 1, ' || {{Ref label|Note|6|6}}', ' ||'), if (g.cat_soft_7 = 1, ' || {{Ref label|Note|7|7}}', ' ||'), if (g.cat_soft_8 = 1, ' || {{Ref label|Note|8|8}}', ' ||'), if (g.cat_soft_9 = 1, ' || {{Ref label|Note|9|9}}', ' ||'), if (g.cat_soft_10 = 1, ' || {{Ref label|Note|10|10}}', ' ||'), if (g.cat_soft_11 = 1, ' || {{Ref label|Note|11|11}}', ' ||'), ' ||', if (g.cat_soft_parent = 1, ' {{Ref label|Note|n|n}}', ''), if (g.cat_soft_parent = 2, concat(' {{Ref label|Note|r|r}} [[Naudotojas:Vpovilaitis/Statistika/', g.cat_tree, '/Kategorijos|žr.]]'), ''), _utf8' || [[:Kategorija:',replace(g.cat_parent,_utf8'_',_utf8' '),_utf8'|',replace(g.cat_parent,_utf8'_',_utf8' '),_utf8']]', _utf8' ||align=right| ', c.cat_pages-c.cat_subcats-c.cat_files, _utf8' ||align=right| ', c.cat_subcats, _utf8' ||align=right| ', c.cat_files ) AS `title` FROM Savaite g join category c on g.cat_id = c.cat_id order by g.cat_title) a union select _utf8'|}' from dual union select _utf8'== Išnašos ==' from dual union select _utf8'* {{Note label|Note|1|1}} - [[:Kategorija:Nepilni|]]' from dual union select _utf8'* {{Note label|Note|2|2}} - [[:Kategorija:Nesutvarkyti straipsniai|]]' from dual union select _utf8'* {{Note label|Note|3|3}} - [[:Kategorija:Nebaigti-terminai|]]' from dual union select _utf8'* {{Note label|Note|4|4}} - [[:Kategorija:Nepilni (Lietuvos gyvenvietės)|Nepilni (Lietuvos gyvenvietės)]]' from dual union select _utf8'* {{Note label|Note|5|5}} - [[:Kategorija:Beviltiški|]]' from dual union select _utf8'* {{Note label|Note|6|6}} - [[:Kategorija:Kandidatai jungti|]]' from dual union select _utf8'* {{Note label|Note|7|7}} - [[:Kategorija:Kandidatai skaidyti|]]' from dual union select _utf8'* {{Note label|Note|8|8}} - [[:Kategorija:Tušti straipsniai|]]' from dual union select _utf8'* {{Note label|Note|9|9}} - [[:Kategorija:Kandidatai skubiai trinti|]]' from dual union select _utf8'* {{Note label|Note|10|10}} - [[:Kategorija:Kandidatai trinti|]]' from dual union select _utf8'* {{Note label|Note|11|11}} - [[:Kategorija:Nuorodiniai straipsniai|]]' from dual union select _utf8'* {{Note label|Note|n|n}} - Kategorijos pokategorijos neįtrauktos į šį sąrašą.' from dual union select _utf8'* {{Note label|Note|r|r}} - Kategorija ir jos straipsniai neįtraukta į šį sąrašą.' from dual union select _utf8'* {{Note label|Note|p|p}} - Puslapių skaičius į kurį nėra įskaičiuota pokategorijose esantys puslapiai.' from dual union select _utf8'* {{Note label|Note|k|k}} - Kategorijų skaičius į kurį nėra įskaičiuota pokategorijose esančios kategorijos.' from dual union select _utf8'* {{Note label|Note|v|v}} - Vaizdų skaičius į kurį nėra įskaičiuota pokategorijose esantys vaizdai.' INTO OUTFILE 'Savaite kategorijos.csv' LINES TERMINATED BY '\r\n' from dual ; select _utf8':''''Šis straipsnis - vienas iš alternatyvios statistikos straipsnių. Žr. [[Vikipedija:Alternatyvi statistika|]]''''' AS `title` from dual union select _utf8'' from dual union select concat(_utf8'Žemiau pateiktas sąrašas nepradėtų kurti (trokštamiausių) straipsnių, į kuriuos yra daugiausiai nuorodų iš ', savos, ' straipsnių. (''''Duomenys ', uz, ''''').') from dual union select _utf8'' from dual union select _utf8'[[Kategorija:Vikipedijos statistika]]' from dual union select _utf8'----' from dual union select * from (select concat(_utf8'# [[',replace(a.pl_title,_utf8'_',_utf8' '),_utf8']]', ' ([[:Specialus:Whatlinkshere/', replace(a.pl_title,_utf8'_',_utf8' '),_utf8'|',a.kiekis,_utf8' nuorodos]])') AS title from ( select b.pl_title AS pl_title, if(b.pl_title is null, 0, count(distinct b.pl_from, b.pl_title)) AS kiekis from ( select distinct p.pl_title as pl_title, vp.p_id as pl_from from vikipedija_page vp join pagelinks p on (vp.p_id = p.pl_from and p.pl_namespace = 0 and vp.p_soft_8 = 0) where exists ( select 1 from categorylinks cl join Savaite g on (cl.cl_to = g.cat_title and g.cat_soft_parent < 2) where vp.p_id = cl.cl_from limit 1 ) and not exists ( select 1 from vikipedija_page pg where p.pl_namespace = 0 and p.pl_title = pg.p_title limit 1 ) and not exists( select 1 from templatelinks tl where vp.p_id = tl.tl_from and exists( select 1 from templates t where tl.tl_namespace = t.templ_namespace and tl.tl_title = t.templ_title and exists( select 1 from templatepagelinks tpl2 where t.templ_id = tpl2.pl_from and tpl2.pl_namespace = 0 and tpl2.pl_title = p.pl_title and p.pl_namespace = 0 limit 1 ) limit 1 ) limit 1 ) and not exists ( select 1 from templatepagelinks tpl where p.pl_from = tpl.pl_from and tpl.pl_namespace = 0 and tpl.pl_title = p.pl_title and p.pl_namespace = 0 limit 1 ) ) b group by b.pl_title ) a where a.kiekis > 0 order by a.kiekis desc, a.pl_title limit 1000 ) c INTO OUTFILE 'Savaite trokstami.csv' LINES TERMINATED BY '\r\n' ; select _utf8':''''Šis straipsnis - vienas iš alternatyvios statistikos straipsnių. Žr. [[Vikipedija:Alternatyvi statistika|]]''''' AS `title` from dual union select _utf8'' from dual union select concat(_utf8'Žemiau pateiktas sąrašas ', savos, ' straipsnių, į kuriuos yra daugiausia nuorodų. (''''Duomenys ', uz, ''''').') from dual union select _utf8'' from dual union select _utf8'[[Kategorija:Vikipedijos statistika]]' from dual union select _utf8'----' from dual union select * from ( select concat(_utf8'# [[',replace(vp.p_title,_utf8'_',_utf8' '),_utf8']]', if(vp.p_soft_1 = 1,'{{Ref label|Note|1|1}}',''), if(vp.p_soft_2 = 1,'{{Ref label|Note|2|2}}',''), if(vp.p_soft_3 = 1,'{{Ref label|Note|3|3}}',''), if(vp.p_soft_4 = 1,'{{Ref label|Note|4|4}}',''), if(vp.p_soft_5 = 1,'{{Ref label|Note|5|5}}',''), if(vp.p_soft_6 = 1,'{{Ref label|Note|6|6}}',''), if(vp.p_soft_7 = 1,'{{Ref label|Note|7|7}}',''), if(vp.p_soft_8 = 1,'{{Ref label|Note|8|8}}',''), if(vp.p_soft_9 = 1,'{{Ref label|Note|9|9}}',''), if(vp.p_soft_11 = 1,'{{Ref label|Note|11|11}}',''), _utf8' ([[:Specialus:Whatlinkshere/', replace(vp.p_title,_utf8'_',_utf8' '),_utf8'|',vpr.page_links_all-vpr.page_links_tusti-if(vtpr.page_links_all is null,0,vtpr.page_links_all), _utf8' nuorodos]])') AS title from vikipedija_page vp join vikipedija_page_refs vpr on (vp.p_title = vpr.page_title) left join vikipedija_tpage_refs vtpr on (vp.p_title = vtpr.page_title) where vpr.page_links_all-vpr.page_links_tusti-if(vtpr.page_links_all is null,0,vtpr.page_links_all) > 1 and vpr.page_links_all > vpr.page_links_tusti+if(vtpr.page_links_all is null,0,vtpr.page_links_all) and exists ( select 1 from categorylinks cl join Savaite g on (cl.cl_to = g.cat_title and g.cat_soft_parent < 2) where vp.p_id = cl.cl_from limit 1 ) order by vpr.page_links_all-vpr.page_links_tusti-if(vtpr.page_links_all is null,0,vtpr.page_links_all) desc, vp.p_title limit 1000) b union select _utf8'== Išnašos ==' from dual union select _utf8'* {{Note label|Note|1|1}} - [[:Kategorija:Nepilni|]]' from dual union select _utf8'* {{Note label|Note|2|2}} - [[:Kategorija:Nesutvarkyti straipsniai|]]' from dual union select _utf8'* {{Note label|Note|3|3}} - [[:Kategorija:Nebaigti-terminai|]]' from dual union select _utf8'* {{Note label|Note|4|4}} - [[:Kategorija:Nepilni (Lietuvos gyvenvietės)|Nepilni (Lietuvos gyvenvietės)]]' from dual union select _utf8'* {{Note label|Note|5|5}} - [[:Kategorija:Beviltiški|]]' from dual union select _utf8'* {{Note label|Note|6|6}} - [[:Kategorija:Kandidatai jungti|]]' from dual union select _utf8'* {{Note label|Note|7|7}} - [[:Kategorija:Kandidatai skaidyti|]]' from dual union select _utf8'* {{Note label|Note|8|8}} - [[:Kategorija:Tušti straipsniai|]]' from dual union select _utf8'* {{Note label|Note|9|9}} - [[:Kategorija:Kandidatai skubiai trinti|]]' from dual union select _utf8'* {{Note label|Note|10|10}} - [[:Kategorija:Kandidatai trinti|]]' from dual union select _utf8'* {{Note label|Note|11|11}} - [[:Kategorija:Nuorodiniai straipsniai|]]' from dual INTO OUTFILE 'Svarbiausi Savaite straipsniai.csv' LINES TERMINATED BY '\r\n' ; -- [[Vikipedija:Trokštamiausi nebaigti]] select _utf8':''''Šis straipsnis - vienas iš alternatyvios statistikos straipsnių. Žr. [[Vikipedija:Alternatyvi statistika|]]''''' AS `title` from dual union select _utf8'' from dual union select concat(_utf8'Žemiau pateiktas sąrašas nebaigtų ', savos, ' straipsnių, į kuriuos yra daugiausia nuorodų. (''''Duomenys ', uz, ''''').') from dual union select _utf8'' from dual union select _utf8'[[Kategorija:Vikipedijos statistika]]' from dual union select _utf8'----' from dual union select * from ( select concat(_utf8'# [[',replace(vp.p_title,_utf8'_',_utf8' '),_utf8']]', if(vp.p_soft_1 = 1,'{{Ref label|Note|1|1}}',''), if(vp.p_soft_2 = 1,'{{Ref label|Note|2|2}}',''), if(vp.p_soft_3 = 1,'{{Ref label|Note|3|3}}',''), if(vp.p_soft_4 = 1,'{{Ref label|Note|4|4}}',''), if(vp.p_soft_5 = 1,'{{Ref label|Note|5|5}}',''), if(vp.p_soft_6 = 1,'{{Ref label|Note|6|6}}',''), if(vp.p_soft_7 = 1,'{{Ref label|Note|7|7}}',''), if(vp.p_soft_8 = 1,'{{Ref label|Note|8|8}}',''), if(vp.p_soft_9 = 1,'{{Ref label|Note|9|9}}',''), if(vp.p_soft_10 = 1,'{{Ref label|Note|10|10}}',''), if(vp.p_soft_11 = 1,'{{Ref label|Note|11|11}}',''), _utf8' ([[:Specialus:Whatlinkshere/', replace(vp.p_title,_utf8'_',_utf8' '),_utf8'|',vpr.page_links_all-vpr.page_links_tusti-if(vtpr.page_links_all is null,0,vtpr.page_links_all), _utf8' nuorodos]])') AS title from vikipedija_page vp join vikipedija_page_refs vpr on (vp.p_title = vpr.page_title) left join vikipedija_tpage_refs vtpr on (vp.p_title = vtpr.page_title) where vpr.page_links_all-vpr.page_links_tusti-if(vtpr.page_links_all is null,0,vtpr.page_links_all) > 1 and vpr.page_links_all > vpr.page_links_tusti+if(vtpr.page_links_all is null,0,vtpr.page_links_all) and ( vp.p_soft_1 = 1 or vp.p_soft_2 = 1 or vp.p_soft_3 = 1 or vp.p_soft_4 = 1 or vp.p_soft_5 = 1 or vp.p_soft_6 = 1 or vp.p_soft_7 = 1 or vp.p_soft_8 = 1 or vp.p_soft_9 = 1 or vp.p_soft_10 = 1 ) and exists ( select 1 from categorylinks cl join Savaite g on (cl.cl_to = g.cat_title and g.cat_soft_parent < 2) where vp.p_id = cl.cl_from limit 1 ) order by vpr.page_links_all-vpr.page_links_tusti-if(vtpr.page_links_all is null,0,vtpr.page_links_all) desc, vp.p_title limit 1000) b union select _utf8'== Išnašos ==' from dual union select _utf8'* {{Note label|Note|1|1}} - [[:Kategorija:Nepilni|]]' from dual union select _utf8'* {{Note label|Note|2|2}} - [[:Kategorija:Nesutvarkyti straipsniai|]]' from dual union select _utf8'* {{Note label|Note|3|3}} - [[:Kategorija:Nebaigti-terminai|]]' from dual union select _utf8'* {{Note label|Note|4|4}} - [[:Kategorija:Nepilni (Lietuvos gyvenvietės)|Nepilni (Lietuvos gyvenvietės)]]' from dual union select _utf8'* {{Note label|Note|5|5}} - [[:Kategorija:Beviltiški|]]' from dual union select _utf8'* {{Note label|Note|6|6}} - [[:Kategorija:Kandidatai jungti|]]' from dual union select _utf8'* {{Note label|Note|7|7}} - [[:Kategorija:Kandidatai skaidyti|]]' from dual union select _utf8'* {{Note label|Note|8|8}} - [[:Kategorija:Tušti straipsniai|]]' from dual union select _utf8'* {{Note label|Note|9|9}} - [[:Kategorija:Kandidatai skubiai trinti|]]' from dual union select _utf8'* {{Note label|Note|10|10}} - [[:Kategorija:Kandidatai trinti|]]' from dual union select _utf8'* {{Note label|Note|11|11}} - [[:Kategorija:Nuorodiniai straipsniai|]]' from dual INTO OUTFILE 'Trokstamiausi nebaigti Savaite straipsniai.csv' LINES TERMINATED BY '\r\n' ; END $$ DELIMITER ;