Toggle navigation
Home
New Query
Recent Queries
Discuss
Database tables
Database names
MediaWiki
Wikibase
Replicas browser and optimizer
Login
History
Fork
Fork of
Ranking list of user creating new article
by
Mr.R1234
This query is marked as a draft
This query has been published
by
Mr.R1234
.
1. [[Wikipedia:月間新記事賞/yyyy年mm月]]からリンクされている記事を抽出 2. 1で抽出した記事の初版作成者を調べる 3. 初版作成者となった回数を数え上げて「新着入り回数」とする ※1 リダイレクトや曖昧さ回避の記事化は正しくカウントできない ※2 3000バイト未満の初版は記事リンク前に「※」を附した。ただし、移動に伴って生じたリダイレクトも「3000バイト未満」として検出されてしまう点は注意されたい。 == 某所で頂いたご意見とその返信 == >あとは廉廉廉頭痛頭痛頭痛とか何だあれ(by 564さん) 修正いたしました。 >リダイレクト起こしをリダイレクト作成者の新着にカウントしてたら話にならんわな(by 713さん) 仰ることはよく分かりますし、私も正しい初版作成者を出力できるSQLにしようと試行錯誤いたしました。具体的には revision の rev_parent_id を使うことで、数千バイト以上の加筆を検出し、その版の編集者を実質的な初版作成者とするなどの仕組みです。しかし、rev_parent_id と rev_id の結合には多大な電算機資源が必要となります。本ウェブサイトでは、実行に30分以上掛かり電算機資源の無駄遣いとなるSQLは途中でストップが掛かる仕様なので、リダイレクト起こしなどの事例で正しい初版作成者を割り出すのは困難です。代わりに、初版が3000バイト未満の記事について、「※」を附する仕様といたしましたので、これで代用として下さいますよう宜しくお願いいたします。 【百科事典】ウィキペディア第2003刷【Wikipedia】 https://lavender.5ch.net/test/read.cgi/hobby/1521767043/
Toggle Highlighting
SQL
set group_concat_max_len = 100000; use jawiki_p; select rev_user_text as "利用者名", count( tpg.page_title ) as "新着入り回数", group_concat( if( rev_len > 3000, concat( "[[", tpg.page_title, "]]" ), concat( "※[[", tpg.page_title, "]]" ) ) separator ', ' ) as "新着記事一覧" from pagelinks inner join page as fpg on pl_from = fpg.page_id and fpg.page_namespace = 4 inner join page as tpg on pl_title = tpg.page_title and tpg.page_namespace = 0 inner join revision on tpg.page_id = rev_page and rev_parent_id = 0 where pl_from_namespace = 4 and pl_namespace = 0 and fpg.page_title regexp '月間新記事賞\/[0-9]{4}年[0-9]{1,2}月' group by rev_user_text order by count( tpg.page_title ) desc
By running queries you agree to the
Cloud Services Terms of Use
and you irrevocably agree to release your SQL under
CC0 License
.
Submit Query
Stop Query
All SQL code is licensed under
CC0 License
.
Checking query status...