Distinct Datensätze mit Joins und Reihenfolge

8

Ich habe eine einfache Beziehung zwischen User und Donations , da ein Benutzer viele Spenden hat und eine Spende einem Benutzer gehört. Was ich tun möchte, ist eine Liste der Nutzer zu erhalten, sortiert nach den letzten Spenden.

Hier ist was ich versuche:

Zuerst möchte ich die Gesamtzahl der Uniq-Benutzer erhalten, die wie erwartet funktioniert:

%Vor%

Als nächstes, wenn ich die Methode count lösche, bekomme ich einen Fehler, dass "ORDER BY Ausdrücke in der Auswahlliste erscheinen müssen":

%Vor%

Dann habe ich versucht, den Postgres-Fehler zu beheben, indem ich explizit die SELECT-Klausel gesetzt habe, die auf den ersten Blick funktioniert:

%Vor%

Die Anzahl der zurückgegebenen Datensätze berücksichtigt jedoch die Anweisung DISTINCT nicht und gibt 692 Datensätze zurück:

%Vor%

Wie erhalte ich die erwartete Anzahl von Ergebnissen (384), während ich auch nach dem Zeitstempel created_at der Spende sortiere?

    
Peter Brown 23.02.2014, 15:23
quelle

1 Antwort

19

Versuchen Sie Folgendes:

%Vor%

Ich nehme an, ein Benutzer hat viele Spenden, das würde die zuletzt erstellte Spende auswählen und würde verschiedene Benutzer auswählen, die nach ihrer ID filtern.

Ich habe das aber noch nicht getestet.

    
juanpastas 23.02.2014, 15:58
quelle