ويكيبيديا:إحصاءات العام



«بدأت ويكيبيديا العربية في عام 2003 بـ 14 مقالًا فقط، واليوم تحتوي على أكثر من 1٬234٬110 مقال!.»

توفر إحصاءات العام أرقامًا دقيقة عن ويكيبيديا بشكل عام خلال سنة كاملة، مثل عدد التعديلات، وعدد الصفحات المضافة، وعدد المستخدمين المسجلين... إلخ. الهدف من هذه الإحصاءات هو إعطاء نظرة شامة حول تطور ويكيبيديا خلال الأعوام، ومقارنة أدائها كل سنة كاملة.

عدد المقالات الجديدة لكل سنة

نمو المقالات في ويكيبيديا العربية منذ نشأتها

قائمة الإحصاءات[عدل]

قائمة الاستعلامات[عدل]

تُستخراج البيانات الخاصة بالأعوام عن طريق استعلامات لغة SQL، ويُمكن تنفيذها بواسطة quarry. عند تنفيذ أحد الاستعلامات التالية؛ ينبغي الانتباه إلى تحديد تاريخ بداية العام، وتاريخ نهاية العام. فمثلًا؛ لو اردتَ تنفيذ استعلام ما خلال عام 2019، فينبغي تحديد تاريخ البداية، وهو: 20190101000000، ثم تحديد تاريخ النهاية وهو: 20191231235959. أيضًا، لاحظ وجود التعبير limit متبوعًا برقم في الاستعلامات التالية، وهذا يعني أن القيم الناتجة ستكون محددة بالرقم المتبوع؛ فمثلًا لو كانت القيمة limit 10، سيُظهر الاستعلام 10 صفوف فقط. يُمكنك تغيير القيمة إذا أردت.

  • عدد المستخدمين المُسجلين:
SELECT COUNT(user_name) FROM user  WHERE user_registration BETWEEN 20190101000000 AND 20191231235959; 
  • أكثر 10 المستخدمين حسب عدد التعديلات.

يُمكن استخدام هذا الاستعلام لمعرفة أكثر بوت حسب عدد التعديلات أيضًا بإزالة السطر الخاص بإخفاء البوتات.

SET @rank=0; SELECT @rank:=@rank+1 AS "المركز", s.* FROM (   SELECT CONCAT("[[مستخدم:",rev_user_text,"|",rev_user_text,"]]") AS "المستخدم", COUNT(rev_user_text) AS "عدد التعديلات" FROM revision  WHERE rev_timestamp BETWEEN 20190101000000 AND 20181231235959 AND rev_user_text NOT LIKE ucase ("%BOT") COLLATE utf8_general_ci AND rev_user_text NOT LIKE ("%New_user_message") GROUP BY rev_user_text ORDER BY COUNT(rev_user_text) DESC LIMIT 10) s; 
  • عدد المقالات التي أُنشئت:
SELECT  COUNT(*) AS "عدد المقالات" FROM revision r join page p on p.page_id=r.rev_page WHERE p.page_namespace=0 and p.page_is_redirect=0 and r.rev_timestamp between 20190101000000 and 20191231235959 and r.rev_parent_id=0 ORDER BY COUNT(*) DESC   LIMIT 1; 
  • عدد القوالب التي أُنشئت:
SELECT  COUNT(*) AS "عدد القوالب" FROM revision r join page p on p.page_id=r.rev_page WHERE p.page_namespace=10 and p.page_is_redirect=0 and r.rev_timestamp between 20190101000000 and 20191231235959 and r.rev_parent_id=0 ORDER BY COUNT(*) DESC   LIMIT 1; 
  • عدد التصانيف التي أُنشئت:
SELECT  COUNT(*) AS "عدد التصانيف" FROM revision r join page p on p.page_id=r.rev_page WHERE p.page_namespace=14 and p.page_is_redirect=0 and r.rev_timestamp between 20190101000000 and 20191231235959 and r.rev_parent_id=0 ORDER BY COUNT(*) DESC   LIMIT 1; 
  • عدد الصور التي رُفعت:
 select COUNT(*) from logging where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_action = "upload" 
  • عدد الزيارات:

يدويًا من هذه الصفحة.

  • عدد التعديلات:
select count(*) from revision where rev_timestamp between 20190101000000 AND 20191231235959; 
  • عدد عمليات النقل:
 select COUNT(*) from logging where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_action = "move" 
  • عدد عمليات الحذف:
 select COUNT(*) from logging where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_action = "delete" 
  • عدد عمليات الحماية:
 select COUNT(*) from logging where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_action = "protect" 
  • عدد عمليات المنع:
 select COUNT(*) from logging where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_action = "block" 
  • عدد عمليات منح الصلاحيات:
 select COUNT(*) from logging where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_action = "rights" 
  • عدد عمليات الشكر:
 select COUNT(*) from logging where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_action = "thanks" 
  • تعديلات المجهولين:
select count(*) from revision where rev_user_text regexp '^([0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\\.([0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\\.([0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\\.([0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])$' and rev_timestamp between 20190101000000 AND 20191231235959; 
  • أكثر مقالات تعديلًا:
SELECT   page_namespace,   page_title,   COUNT(*) FROM revision JOIN page ON page_id = rev_page WHERE rev_timestamp BETWEEN 20190101000000 AND 20191231235959 GROUP BY page_namespace, page_title ORDER BY COUNT(*) DESC, page_title ASC LIMIT 10; 
  • أكثر مقالات زيارة:

يدويًا من هذه الصفحة.

  • أكثر مستخدم إضافة للموسوعة:
SELECT CONCAT("[[مستخدم:",user_name,"|",user_name,"]]") AS user_name, SUM(CAST(rev.rev_len as signed)-CAST(parent.rev_len as signed)) AS byte_count, COUNT(rev.rev_id) as edit_count FROM user JOIN revision rev ON user_id = rev.rev_user JOIN revision parent ON rev.rev_parent_id = parent.rev_id JOIN page ON page_id = parent.rev_page WHERE page_namespace = 0 and rev.rev_comment not like "%رجوع%" and rev.rev_comment not like "%استرجاع%" AND rev.rev_timestamp BETWEEN 20190101000000 AND 20191231235959 AND parent.rev_timestamp BETWEEN 20190101000000 AND 20191231235959 GROUP BY user_name having byte_count > 0 ORDER BY byte_count DESC LIMIT 10; 
  • أكثر مستخدم نقلًا:
select CONCAT('[[مستخدم:',user_name,'|',user_name,']]'), COUNT(*) from logging inner join user on user.user_id = logging.log_user where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_action IN ("move"/*, "block", "protect", "rights"*/) group by logging.log_user having COUNT(*)>1 ORDER BY COUNT(*) DESC LIMIT 5; 
  • أكثر مستخدم شكرًا:
select CONCAT('[[مستخدم:',user_name,'|',user_name,']]'), COUNT(*) from logging inner join user on user.user_id = logging.log_user where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_action IN ("thanks"/*, "block", "protect", "rights"*/) group by logging.log_user having COUNT(*)>1 ORDER BY COUNT(*) DESC LIMIT 5; 
  • أكثر مستخدم إنشاء للمقالات:
SELECT rev_user_text, count(rev_user_text) FROM revision INNER JOIN page ON rev_page = page_id WHERE page_namespace = 0 AND rev_parent_id = 0 and rev_timestamp BETWEEN 20190101000000 AND 20191231235959 AND page.page_is_redirect = 0 group by rev_user_text ORDER BY count(rev_user_text) desc; 
  • أكثر مستخدم مراجعة للتعديلات:
select CONCAT('[[مستخدم:',user_name,'|',user_name,']]'), COUNT(*) from logging inner join user on user.user_id = logging.log_user where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_action = "approve" and log_namespace = 0 group by logging.log_user having COUNT(*)>1 ORDER BY COUNT(*) DESC LIMIT 1; 
  • أكثر مستخدم مراجعة للصفحات الجديدة:
select CONCAT('[[مستخدم:',user_name,'|',user_name,']]'), COUNT(*) from logging inner join user on user.user_id = logging.log_user where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_action = "approve-i" and log_namespace = 0 group by logging.log_user having COUNT(*)>1 ORDER BY COUNT(*) DESC LIMIT 1; 
  • أكثر الإداريين نشاطًا:
select CONCAT('[[مستخدم:',user_name,'|',user_name,']]'), COUNT(*) from logging inner join user on user.user_id = logging.log_user where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_type in ("block", "protect", "delete", "rights") group by logging.log_user having COUNT(*)>1 ORDER BY COUNT(*) DESC LIMIT 1; 
  • أكثر الإداريين حذفًا:
select CONCAT('[[مستخدم:',user_name,'|',user_name,']]'), COUNT(*) from logging inner join user on user.user_id = logging.log_user where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_type in ("delete"") group by logging.log_user having COUNT(*)>1 ORDER BY COUNT(*) DESC LIMIT 1; 
  • أكثر الإداريين منعًا:
select CONCAT('[[مستخدم:',user_name,'|',user_name,']]'), COUNT(*) from logging inner join user on user.user_id = logging.log_user where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_type in ("block") group by logging.log_user having COUNT(*)>1 ORDER BY COUNT(*) DESC LIMIT 1; 
  • أكثر الإداريين حماية:
select CONCAT('[[مستخدم:',user_name,'|',user_name,']]'), COUNT(*) from logging inner join user on user.user_id = logging.log_user where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_type in ("protect") group by logging.log_user having COUNT(*)>1 ORDER BY COUNT(*) DESC LIMIT 1; 
  • أكثر الإداريين منحًا للصلاحيات:
select CONCAT('[[مستخدم:',user_name,'|',user_name,']]'), COUNT(*) from logging inner join user on user.user_id = logging.log_user where log_timestamp BETWEEN 20190101000000 AND 20191231235959 and log_type in ("rights") group by logging.log_user having COUNT(*)>1 ORDER BY COUNT(*) DESC LIMIT 1;