Vorrei selezionare tutto + valore MAX e ricevere solo righe con valori massimi.Doctrine query building selezionare 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();
Come potrei ottenere questo in dottrina? Sto ottenendo un errore che * la proprietà non è stata trovata. Ho provato a selezionarli tutti uno per uno, ma senza fortuna.
obiettivo è quello di raggiungere qualcosa di simile
SELECT user, challenge, whateverelse, MAX(score) FROM users_scores_table GROUP BY user_id
Aiutaci;)
DQL =/= SQL, non so cosa si sta cercando di fare qui. selezionare ('s, ...) dovrebbe essere sufficiente. – mpm
Questo mi selezionerà solo max_score e non la mia intera entità .. Sto cercando di ottenere tutti i punteggi più alti unici per gli utenti. – rat4m3n
Basta selezionare ('s, MAX (s.score)') come suggerito da @mpm. –