कौन से गैर-एसओ चुनावों में सबसे अधिक उम्मीदवार थे?

Aug 17 2020

हर स्टाॅक एक्सचेंज साइट मॉडरेटर चुनाव में साइडबार में एक बॉक्स होता है:

7 दिनों के बाद, शीर्ष 30 नामांकित, प्रतिष्ठा द्वारा आदेश दिया गया, प्राथमिक चरण के लिए अग्रिम। हालांकि, अगर 10 या उससे कम उम्मीदवार हैं, तो हम सीधे चुनाव के चरण में जाते हैं।

"टॉप 30" के बारे में बिट मैंने कभी भी किसी भी चुनाव में प्रासंगिक नहीं देखा है। यहां तक ​​कि फ्लैगशिप साइट स्टैक ओवरफ्लो पर पिछले कुछ चुनावों में, 30 उम्मीदवारों के रूप में नहीं हुए हैं। मैं पूछने जा रहा था "यह एसओ के बाहर कभी प्रासंगिक रहा है", लेकिन मुझे थोड़ा व्यापक प्रश्न पूछना चाहिए:

एसओ के बाहर कौन से आधुनिक चुनावों में सबसे अधिक उम्मीदवार हुए हैं?

जाहिर है कि मैं /electionइस जानकारी को खोजने के लिए सभी साइटों के पृष्ठों के माध्यम से पता लगा सकता था, लेकिन शायद किसी को एक आसान तरीका पता है (या पहले से ही डेटा एकत्र किया है)।

जवाब

12 Glorfindel Aug 17 2020 at 01:19

बहुत सारे उम्मीदवारों के साथ तीन चुनाव (सिर्फ स्मृति से, मैंने उन्हें नहीं निकाला है - शायद आर्टऑफकोड के पास इसके लिए कुछ कोड हैं):

  • 2014 गणित चुनाव , 23 उम्मीदवारों, जिनमें से 20 प्राथमिक चरण (सीमा भिन्न तो, ऐसा लगता है था) के लिए उन्नत के साथ;
  • 2016 Worldbuilding चुनाव 19 उम्मीदवारों के साथ;
  • 2018 Magento चुनाव 19 उम्मीदवारों के साथ।

यह उन उम्मीदवारों की गणना नहीं करता है जिनके नामांकन हटा दिए गए थे (हाल ही में निलंबित होने के कारण, या एक स्पष्ट मजाक-नामांकन पोस्ट करने के कारण)।

12 rene Aug 17 2020 at 21:12

मुझे इस SEDE क्वेरी की पेशकश करने की अनुमति दें ।

यह सही परिणाम नहीं लौटाएगा लेकिन यह आपको सही उत्तर खोजने में मदद कर सकता है जब आप ग्लॉफिंडेल द्वारा उत्तर में वर्णित दृष्टिकोण को लागू करते हैं।

मेरी क्वेरी उस विशिष्ट चुनाव के लिए कभी भी पोस्ट किए गए सभी वास्तविक नामांकन के आधार पर चुनावों की रैंकिंग दिखाती है। एसई कृपया अभी भी नामांकन प्रदान करता है जिसे वापस ले लिया गया था।

मुझे सार्वजनिक स्कीमा में यह निर्धारित करने का कोई तरीका नहीं मिला कि उन्हें वापस ले लिया गया था। यही कारण है कि Glorfindel से उत्तर सही है और यह एक नहीं है।

तो यहाँ एक बहु-टेम्प्लेट जानवर है जिसमें एक पागल टेंप-टेबल और टेम्प इंडेक्स है और उससे भी अधिक उप-प्रश्नों की संख्या है।

मैं इस प्रश्न पर भरोसा करता हूं कि नामांकन पोस्टपेडिड = 6. के साथ पदों के रूप में दर्ज किए जाते हैं। ये पद केवल 7 दिनों की छोटी अवधि में होंगे और ये अवधि एक दूसरे से काफी अलग हैं।

पोस्ट बनाने और एक LAG और LEAD फ़ंक्शन का उपयोग करके पोस्टों के बीच के दिनों में समय का पता लगाने के लिए, आप पा सकते हैं कि किसी अवधि की शुरुआत और अंत कहां है, क्योंकि उन दिनों में अंतर होगा जो तब अधिक है। 7. DateDiff फ़ंक्शन वहां काम आता है। विस्तारित नामांकन नामांकन के लिए मुझे टिपिंग पॉइंट के रूप में 42 साल लगे। एक बार जब आपके पास इन प्रारंभ और समाप्ति तिथियां होती हैं, तो उनका क्रम निर्धारित करता है कि चुनाव संख्या क्या है। वहां से चुनाव के लिए प्रत्याशियों की संख्या देने के लिए प्रत्येक चुनाव के लिए मिली तिथि सीमा पर फिर से पदों में शामिल होने की बात है।

कॉलम साइट का नाम सही चुनाव पृष्ठ पर लिंक करता है। वहां आप वास्तविक उम्मीदवारों की संख्या पा सकते हैं। यह भी बताएगा कि यदि आप SEDE क्वेरी परिणाम में संख्या के साथ तुलना करते हैं, तो कितने नामांकन वापस ले लिए, या वापस ले लिए गए।

declare @sql nvarchar(max)

create table #result (site sysname
                    , hostname sysname
                    , id integer
                    , creationdate datetime
                    )
                    
create index #idx_hn_cd on #result(hostname, creationdate)


select @sql = N'insert into #result' + STRING_AGG(concat(N'
select ''', name ,N''' as site
     , ''',hostname ,N'''
     , pm.id  
     , pm.creationdate
    from ', quotename(name), N'.dbo.posts pm
    where pm.posttypeid = 6
'),N' 
union all')
from (select convert(nvarchar(max),name) name
    -- , convert(nvarchar(max),sitename)  sitename
    -- , meta
    -- , domain
     ,  concat( 
        -- based on an idea from Glorfindel 
        -- https://meta.stackexchange.com/a/321181
        (case sitename
        WHEN 'Audio' THEN 'video'
        WHEN 'Beer' THEN 'alcohol'
        WHEN 'CogSci' THEN 'psychology'
        WHEN 'Garage' THEN 'mechanics'
        WHEN 'Health' THEN 'medicalsciences'
        WHEN 'Moderators' THEN 'communitybuilding'
        WHEN 'Photography' THEN 'photo'
        WHEN 'Programmers' THEN 'softwareengineering'
        WHEN 'Vegetarian' THEN 'vegetarianism'
        WHEN 'Writers' THEN 'writing'
        WHEN 'Br' THEN 'pt'
        WHEN 'Mathoverflow' THEN concat((meta+'.'), sitename)
        ELSE case when sitename = domain then null else sitename end
        end +'.')
        , (case 
           when sitename <> 'mathoverflow' then (meta+'.') 
           else null 
           end) 
        , (case 
           when sitename <> 'mathoverflow' then concat((domain + '.'), 'com') 
           else 'net' 
           end)
        ) hostname
from (
select name
, case parsename(name,1) 
  when 'Meta' then parsename(name,2)
  else parsename(name,1) 
  end [sitename]
, case parsename(name,1) 
  when 'Meta' then 'meta'
  else null
  end [meta]
  , coalesce(parsename(name,3), parsename(name,2)) [domain]
from sys.databases
where database_id > 5
and (name not like '%.Meta') -- only main sites have elections
) dbs
) dbsall

exec (@sql)

select rank() over (order by count(*) desc) [ranking]
     , s2 [Site name]
     , election [election]
     , start
     , [end]
     , count(*) [# nominees]
from 
(
select ele_data.s2
     , election
     , min(ele_data.creationdate) start
     , max(ele_data.creationdate) [end]
from
(
  select data.s1 s2
  , ceiling((row_number() over(partition by data.s1 order by creationdate) ) / 2.0) election
     --  , min(creationdate) se
     --  , max(creationdate) ee
        , *
  from (
    select #result.site [s1]
         , id 
         , datediff(
           d
           , lag(creationdate, 1 , '2008-09-01') over(partition by site order by creationdate)
           , creationdate) [days prev]
         , datediff(
           d
           , creationdate
           ,lead(creationdate, 1 , getdate()) over(partition by site order by creationdate)
            ) [days next]
         , creationdate
    from #result
  ) data
  where [days prev] > 42 or [days next]> 42
) ele_data
group by ele_data.s2, election
) rollup
inner join #result r 
   on r.site = s2 
   and r.creationdate between  start and [end]
where s2 <> 'StackOverflow'
group by s2, election, start, [end]
order by count(*) desc

आज चलाने के लिए यह वही है जो शीर्ष परिणाम की तरह दिखता है:

ध्यान रखें कि SEDE को रविवार को सप्ताह में एक बार अपडेट किया जाता है।
आइए उनके द्वारा लिखे गए भयानक SEDE ट्यूटोरियल के लिए मोनिका सेलियो की प्रशंसा करें । SEDE चैट में "Hi" कहें ।