SQL
x
SELECT DISTINCT
# entah mengapa ini menghasilkan angka yang berbeda dengan versi
# https://quarry.wmcloud.org/query/84037. Ada yang lebih banyak, ada yang
# lebih sedikit. Saya sepertinya melakukan sesuatu yang tidak semestinya
main_il.page_title AS title,
cl_il.cl_to AS priority
# ini butuh waktu yang sangat lama
#SUM(CASE
# WHEN cl_il.cl_to = 'Top-priority_mathematics_articles' THEN 1 ELSE 0 END
#) AS Top,
#SUM(CASE
# WHEN cl_il.cl_to = 'High-priority_mathematics_articles' THEN 1 ELSE 0 END
#) AS High,
#SUM(CASE
# WHEN cl_il.cl_to = 'Mid-priority_mathematics_articles' THEN 1 ELSE 0 END
#) AS Mid,
#SUM(CASE
# WHEN cl_il.cl_to = 'Low-priority_mathematics_articles' THEN 1 ELSE 0 END
#) AS Low,
#SUM(CASE
# WHEN cl_il.cl_to = 'NA-priority_mathematics_articles' THEN 1 ELSE 0 END
#) AS NA,
#SUM(CASE
# WHEN cl_il.cl_to = 'Unknown-priority_mathematics_articles' THEN 1 ELSE 0 END
#) AS Undetermined
FROM linktarget AS lt
# pagelinks mencatat hubungan asal dan target pranala. kita gunakan untuk mencari
# simpul A dari hubungan A=>B. mari fokus ke halaman A yang berada di ruang nama
# utama, yang id target B-nya ada di linktarget
INNER JOIN pagelinks AS pl ON pl.pl_target_id = lt.lt_id AND pl.pl_from_namespace = 0
# sekarang pl.pl_from mencatat id halaman A di ruang nama utama yang punya
# pranala ke artikel B yang juga di ruang nama utama (dengan prioritas cl.cl_to)
INNER JOIN page AS main_il ON main_il.page_id = pl.pl_from
# lalu dapatkan data halaman pembicaraan dari halaman yang bersangkutan
INNER JOIN page AS talk_il ON talk_il.page_title = main_il.page_title AND talk_il.page_namespace = 1
# lalu hanya fokus ke halaman pembicaraan dengan kategori berikut
INNER JOIN categorylinks AS cl_il ON cl_il.cl_from = talk_il.page_id AND cl_il.cl_to IN (
'Top-priority_mathematics_articles',
'High-priority_mathematics_articles',
'Mid-priority_mathematics_articles',
'Low-priority_mathematics_articles',
'NA-priority_mathematics_articles',
'Unknown-priority_mathematics_articles')
WHERE lt.lt_title = 'Linear_programming' AND lt.lt_namespace = 0
By running queries you agree to the Cloud Services Terms of Use and you irrevocably agree to release your SQL under CC0 License.
All SQL code is licensed under CC0 License.