sql >> Database >  >> RDS >> Mysql

Django-query waarbij het ene veld duplicaat is en het andere anders

Je kunt hier met een subquery werken, maar qua prestaties zal het denk ik niet veel uitmaken:

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')
    ))
)

of voorafgaand aan :

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)

We behouden dus UserNames objecten waarvoor een UserNames . bestaat object met dezelfde first_name , en met een andere user_id .




  1. Mysql - rijen vullen voor ontbrekende maanden

  2. Kan ik hoofdletterongevoelig zoeken met JSON_EXTRACT in MySQL?

  3. MySQL OP DUPLICATE KEY - laatste invoeg-ID?

  4. Hoe video-inhoud op te slaan in de SQLite-database (niet het videopad)