私はソート/グルーピングの問題を抱えています。2つのフィールドを使用してソートするにはどうすればよいですか?
公開日と更新日が記載された記事の表があります。私はDjangoを使用しているので、次のようになります。
class Story(models.Model):
pub_date = models.DateTimeField(db_index=True)
update_date = models.DateTimeField(blank=True, null=True, db_index=True)
headline = models.CharField(max_length=200)
...
1ページ分の記事をページごとにグループ分けして表示します。だから... ...
Jan 20
Story 1
Story 2
Jan 19
Story 1
Story 3
課題は、物語がUPDATE_DATEを持っている場合、それは一回PUB_DATE日に、2回表示、および一度update_day日の(例えばストーリー1)されなければならないということです。
何千ものストーリーがありますので、私はもちろんpythonでそれを行うことはできませんが、SQLでこのクエリを実行する方法はわかりません。
私は現在、すべてを-pub_dateで並べ替えてから、特定のページで最大と最小の日付の範囲を取得しています。それらの日付の間にupdate_dateを使って物語を検索し、それらを結合してPythonでグループ化します。問題は、ページ上のアイテムの数が不規則であることです。
だから私は、テーブルの項目リストを照会し、2つのフィールドに基づいてソートし、2番目のフィールドに値がある場合はその項目を複製し、 2つのフィールドに基づいてソートしますか?
理にかなっている希望...
ていますが、おそらく "共用体"を使用すべきです。結果が戻ってくる(それはまったく同じになります)が変わるからではなく、はるかに速いからです。これはおそらく、「別個の」チェックを行うつもりはないからです。私は誰かが労働組合よりも3.5倍早い組合をベンチマークしたことを読んだだけです。 – davogotland