2か月間のタグの人気を、最大の変化順に比較したいと思います。
1か月のタグの数を数える方法はわかりましたが、比較する方法はわかりませんでした。これが私がこれまでに持っているものです:
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
https://data.stackexchange.com/stackoverflow/qe/924/query-count-tags-from-daterange
(注:クローンを作成し、その場で編集して、実行することができます)
SQLは初めてです。前月(2010年12月)の2番目のクエリを作成し、これら2つのクエリを列と組み合わせて、prevMonth.count - nextMonth.count
その列で並べ替える必要があるようです(上位のXだけを取得するため、時間がかかりません)。永遠に)。
しかし、この方法で2つのクエリを組み合わせる方法を理解することはできません。ネストできるはずだと思いますが、機能させることはできません。別の方法は、一時テーブルを作成することです-それは私には非効率に思えますが、おそらくそれは正しい方法ですか?
助けてくれてありがとう!
ところで:次にやりたいこと:
この後、(数の絶対的な変化だけでなく)成長率を見つけたいと思います。それはただ
(new-old)/old
です。速度と似ていますが、正規化されています。次に、成長率が最も増加しているタグ、つまり指数関数的に成長しているタグ。これには3か月かかります。1か月から2か月の間、および2か月から3か月の間の変化率を計算します。これらの違いは、変化率の変化率です。それは加速のようなものです。
[これは、新しいテクノロジーが成長していることを示すものであり、非常に特殊な使用法では小さなものから始まることがよくあります。その小さなエリアの人々はお互いに話し合い、良いアイデアは連鎖反応で伝えられます。1人が2人に話し、それぞれがさらに2人に話します。そのニッチはしばらくすると完全に変換される可能性があり、おそらくそれは別の同様のニッチに広がる可能性があります。イノベーターのジレンマの男による「SeeingWhat'sNext」を参照してください。]
JNKの回答を使用した後のバージョンは次のとおりです: https ://data.stackexchange.com/stackoverflow/q/92869/query-tags-with-highest-increase-in-growth-over-3-months
そして...最も急速に成長しているタグは... facebook-c#-sdkです。Dunnoはこれがどれほど便利かを示していますが、SOを閲覧するための興味深い方法です。