2016-09-25 6 views
0

イベントが日付に関連付けられているとします。与えられた月の 与えられた月の毎日5つのアイテムをraw SQLまたはDjango ormで取り出す

、制約付き

私はその月に起こったイベントを取得したいと思います


よう:私は日ごとに最大で唯一の5のイベントをしたい

+0

使用している基礎データベースに質問にタグを付けてください。 –

+0

@GordonLinoff:私はやりました。 – eugene

答えて

2

ほとんどのデータベースは、ANSI標準ウィンドウ関数をサポートしています。だから、これはのように記述することになります。

select t.* 
from (select t.*, 
      row_number() over (partition by thedate 
           order by thedate) as seqnum 
     from t 
     where date >= @date1 and date < @date2 
    ) t 
where seqnum <= 5 

@date1@date2ちょうどあなたが気に期間の開始と終了を定義する値のためのホルダーを配置しています。

+0

すぐにお返事ありがとうございます。私はrow_numberに慣れておらず、それが何を意味しているのか見ていません。チェックするだけで、 'seqnum <= 10'はメンバーが10人以下のパーティションを意味しません。 10人以上のメンバーであっても、最大10人のメンバー(イベント)が欲しいです。 – eugene

+1

ああ、私はそれを得る。それは5未満のタグが付いたメンバーを返すので、最初の5メンバーです。ありがとう、私はそれを取得します。 – eugene

関連する問題