Я бы хотел сравнить популярность тегов за два месяца, упорядоченных по наибольшему изменению.
Я научился подсчитывать количество тегов в месяц, но не сравнивать их. Вот что у меня есть:
select TOP 10
tags.tagname, count(*) AS tagcount
from Posts
INNER JOIN PostTags ON PostTags.PostId = Posts.id
INNER JOIN Tags ON Tags.id = PostTags.TagId
where
datepart(year, Posts.CreationDate) = 2011 and
datepart(month, Posts.CreationDate) = 1
Group by tags.tagname
Order by tagcount DESC
http://data.stackexchange.com/stackoverflow/qe/924/query-count-tags-from-daterange
(примечание: вы можете клонировать, редактировать на месте и запускать )
Я новичок в SQL. Похоже, мне просто нужно создать второй запрос за предыдущий месяц (декабрь 2010 г.), а затем объединить эти два запроса со столбцом, равным prevMonth.count - nextMonth.count
, и упорядочить по этому столбцу (получив только верхний X, поэтому он не навсегда).
Но я не могу понять, как объединить два запроса таким образом - я думаю, что вы должны иметь возможность их вкладывать, но я не могу заставить его работать. Другой способ - создать временную таблицу - мне она кажется неэффективной, но, может быть, это правильный путь?
Большое спасибо за любую помощь!
Кстати: что я хотел бы сделать дальше:
После этого я хотел бы найти скорость роста (а не только абсолютное изменение чисел). Это просто (new-old)/old
. Как скорость, но нормализовано.
Затем теги, скорость роста которых увеличивается больше всего, то есть имеют экспоненциальный рост. Для этого потребуется 3 месяца: рассчитайте скорость изменения между 1 и 2 месяцами, а также между 2 и 3 месяцами. Разница между ними - это скорость изменения скорости изменения. Это как ускорение.
[Это сигнал для роста новых технологий, которые часто начинаются с малого при очень специфическом использовании. Люди в этой маленькой области разговаривают друг с другом, и хорошие идеи передаются в цепной реакции: один человек говорит двум, каждый говорит еще два, и так далее. Эта ниша может через некоторое время полностью преобразоваться, и, возможно, она распространится на другую, похожую нишу. См. «Видя, что дальше» , от парня Dilemma Innovator. ]
Вот более поздняя версия, использующая ответ JNK:
http://data.stackexchange.com/stackoverflow/q/92869/query-tags-with-highest-increase-in-growth-over-3-months
И ... самый быстрорастущий тег - это ... facebook-c # -sdk . Не знаю, насколько это полезно, но это интересный способ просмотреть SO.