Ich möchte alles + MAX-Wert auswählen und nur Zeilen mit maximalen Werten erhalten.Doctrine Abfrage Gebäude wählen MAX
$query = $this->createQueryBuilder('s');
$query->where('s.challenge = :challenge')->setParameter('challenge', $challenge);
$query->groupBy('s.score');
$query->getQuery();
return $query->select('s.*, MAX(s.score) AS max_score')->getQuery()->getResult();
Wie konnte ich dies in der Lehre erreichen? Ich bekomme einen Fehler, dass * Eigenschaft nicht gefunden wird. Ich habe versucht, sie alle einzeln auszuwählen, aber auch kein Glück.
Tor ist so etwas wie dieses
SELECT user, challenge, whateverelse, MAX(score) FROM users_scores_table GROUP BY user_id
Bitte helfen Sie zu erreichen;)
DQL =/= SQL, nicht sicher, was Sie versuchen, hier zu tun. select ('s, ...) sollte ausreichen. – mpm
Dies wird mich nur max_score und nicht meine gesamte Entität auswählen .. Ich versuche, alle einzigartigen höchsten Punktzahlen für Benutzer zu erhalten. – rat4m3n
Wählen Sie einfach ('s, MAX (s.Score)') wie @mpm vorgeschlagen. –