sql >> データベース >  >> RDS >> PostgreSQL

Django / postgreSQLのデータベースからランダムなアイテムを1つ取得するにはどうすればよいですか?

    データベースのすべての要素を取得するとパフォーマンスに大きな影響を与える可能性があるため、すべてのデータベースオブジェクトのリストからランダムな要素を選択することは、グーグルソリューションではありません。order_by('?')も使用しません。 djangoのドキュメント に記載されているとおり 。

    最善の解決策は、ランダムなインデックスを持つ要素を取得することです。

    import random
    
    random_idx = random.randint(0, Model.objects.count() - 1)
    random_obj = Model.objects.all()[random_idx]
    


    1. Oracle での DateDiff() の使用

    2. SQLServerテーブルの列に非ヌル制約を作成する方法-SQLServer/T-SQLチュートリアルパート51

    3. 関連するレコードをグループ化しますが、最初のレコードのみから特定のフィールドを選択します

    4. 11gR2圧縮アドバイザー=悪