Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Django MySQL eindeutige Abfrage zum Abrufen mehrerer Werte

.distinct([*fields]) funktioniert nur in PostgresSQL.

Von verschieden Dokumentation

Hier ist der Unterschied. Bei einem normalen unique()-Aufruf vergleicht die Datenbank jedes Feld in jeder Zeile, wenn bestimmt wird, welche Zeilen unterschiedlich sind. Bei einem unique()-Aufruf mit angegebenen Feldnamen vergleicht die Datenbank nur die angegebenen Feldnamen.

Wie bereits erwähnt, werden alle Felder in einem Datensatz überprüft. Höchstwahrscheinlich erhalten Sie in Ihrem Fall Datensätze mit unterschiedlichen Feldwerten (wahrscheinlicher ein Fall, wenn Sie mehrere ManyToMany- oder ForeignKey-Relationen abfragen).

Zum Konsolidieren als Array können Sie auf Ihre frühere Frage verweisen Django Query Distinct Values ​​funktioniert, aber ich kann das Abfrageergebnis nicht verwenden