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

1つのフィールドが重複していて別のフィールドが異なるDjangoクエリ

    ここでサブクエリを操作できますが、パフォーマンスの観点からはそれほど重要ではないと思います:

    from django.db.models import Exists, OuterRef, Q
    
    UserNames.objects.filter(
        Exists(UserNames.objects.filter(
            ~Q(user_id=OuterRef('user_id')),
            first_name=OuterRef('first_name')
        ))
    )

    またはdjango-3.0 より前 :

    from django.db.models import Exists, OuterRef, Q
    
    UserNames.objects.annotate(
        has_other=Exists(UserNames.objects.filter(
            ~Q(user_id=OuterRef('user_id')),
            first_name=OuterRef('first_name')
        ))
    ).filter(has_other=True)

    したがって、UserNamesを保持します UserNamesが存在するオブジェクト 同じfirst_nameを持つオブジェクト 、および別のuser_id




    1. PHPのSQLクエリ内で一重引用符を処理するにはどうすればよいですか?

    2. Python FlaskとMySQLを使用してゼロからWebアプリを作成する:パート5

    3. mysqlの結果セットは常にnullです

    4. INSERT..RETURNINGがJOOQで機能していません