2012-04-06 8 views
0

いつか、私のSQLのカンフーは強かった。私は以来クライアント開発者になっています。ここで複雑なレールのクエリを構築する(または単純な、私はちょうどダムかもしれない)

が問題だ:私はフィード、サブスクリプション、およびランキング フィードを購読してランキング(それぞれの国コードのための1つのランク) ランキングを持っている は私が必要なもの、フィード、国コードに

を持って与えられたためであります国コード、先週作成した購読数が最も多いフィードを取得する

どのように地球を行うのですか?

答えて

0

あなたは列名など、

select top 10 Feeds.id, Feeds.name from Feeds 
    inner join (
    select count(*) count, feedId from Subscriptions 
     where date > ? 
    ) as Sub on Sub.feedId=Feeds.id 
    inner join Rankings on Rankings.feedId=Feeds.id 
    where Rankings.countryCode=? 
    order by Sub.count desc 

のようなものを提供していませんでしたので、それは正確には難しいです(私は私の前の回答よりも、この中にあまり自信がありますが、もちろん間違っていたこと... )

+0

ほとんどの場合、私はランクで並べ替えたくありません。先週のcreated_dateの購読数で並べ替えたいです。 – midas06

+0

ああ、はい、忘れました。 OK、私は別のショットを、それほど自信がなかった。 – jlarson

関連する問題