Vragen, Antwoorden per tag ontvangen via data.stackexchange.com?

Mijn excuses als dit de verkeerde locatie is, verplaats het alsjeblieft! Ik heb de afgelopen uren geprobeerd een vraag te stellen met de volgende informatie:

Het aantal vragen en aantal antwoorden per 'Top 5'-tag van de afgelopen drie voltooide maanden (april 2012, mei 2012, juni 2012).

Ik heb tot nu toe , gebaseerd op andere vragen die ik heb gevonden:

SELECT *, COUNT(*) AS Count FROM
(
  SELECT CAST(
      CAST(DATEPART(YYYY, CreationDate) AS varchar) + '-' + CAST(DATEPART(MM, CreationDate) AS varchar) + '-01'
    AS DATETIME) [Month], 
    t.TagName
  FROM Posts p 
  JOIN PostTags pt ON pt.PostId = p.Id
  JOIN Tags t ON t.Id = pt.TagId
  WHERE TagId IN 
  (
    SELECT TOP 5 Id FROM Tags 
    ORDER BY Count DESC
  )
) AS X
WHERE [Month] >= CAST('2012-04-01' as datetime)
AND [Month] < CAST('2012-07-01' as datetime)
GROUP BY TagName, [Month]
ORDER BY [Month] ASC, TagName ASC

Het probleem is dat de JOIN records elimineert die geen bijbehorende PostTags hebben. Ik ben niet erg bekwaam met SQL, dus dit heeft voor mij wat problemen veroorzaakt. Relevent-informatie:

  • Vragen zijn berichten met PostTypeId ingesteld op 1
  • Antwoorden zijn berichten met PostTypeId ingesteld op 2

Als iemand kan helpen, zou ik zeer dankbaar zijn.

Bedankt.

2
bluefeet: de gegevensbron mag geen probleem zijn. Ik heb mijn datastructuur (die wordt gedicteerd door stackexchange) en mijn vraag gepost en vraag om hulp om door te gaan naar de volgende stap.
toegevoegd de auteur Mike Trpcic, de bron
@bluefeet Maar dit is een programmeervraag ...
toegevoegd de auteur Hassan, de bron

1 antwoord

Vijf maanden later denk ik dat dit doet wat je wilt:

http://data.stackexchange.com/Gebruiker/vraag/89.629/vragen per-tag-top-vijf-by-maand

Tellingen leveren voor de antwoorden compliceert de vraag een beetje, maar ik denk dat de bovenstaande vraag zowel vragen als antwoorden toewijst aan de juiste maanden en tags.

1
toegevoegd